ssll 20 ارسال شده در بهمن 92 گزارش بازنشر ارسال شده در بهمن 92 (ویرایش شده) من فانکشن محبوبترین مطالب رو دارم میخوام دو تا امکان بهش اضافه بشه یکی این که بهش بگم از کدوم دسته مطالب رو بیاره یکی اینکه محدود به زمان باشه مثلا مطالب هفته جاری و یا ماه جاری اگر هم به صورت هفته جاری یا ماه جاری نمیشه به صورت مطالب یه هفته پیش(مطالب تا هفت روز پیش) و مطالب یه ماه پیش( مطالب تا سی روز پیش)اینم کد :function popularPosts($num) {global $wpdb;$posts = $wpdb->get_results("SELECT comment_count, ID, post_title FROM $wpdb->posts ORDER BY comment_count DESC LIMIT 0 , $num ");foreach ($posts as $post) {setup_postdata($post);$id = $post->ID;$title = $post->post_title;$count = $post->comment_count;if ($count != 0) {$popular .= '<table style="height:20px; border-bottom:1px solid #ccc; line-height:2em;"><td style="width:440px;">';$popular .= '<a href="' . get_permalink($id) . '" title="' . $title . '">' . $title . '</a> ';$popular .= '</td></table>';}}return $popular;}البته مقدار cat به این صورت وارد بشه چون از یه جای دیگه مقدارشو میگیرم >>'.cat='.$iman ویرایش شده بهمن 92 توسط ssll نقل قول لینک به ارسال
Parsa 23463 ارسال شده در بهمن 92 گزارش بازنشر ارسال شده در بهمن 92 با این کد امکانش نیست 2 نقل قول لینک به ارسال
ssll 20 ارسال شده در بهمن 92 مالک گزارش بازنشر ارسال شده در بهمن 92 خب کد رو به این صورت دارم function tie_last_posts_cattb($numberOfPosts = 5 , $thumb = true , $cats = 1){global $post;$orig_post = $post; $lastPosts = get_posts('category='.$cats.'&numberposts='.$numberOfPosts.'& orderby=comment_count&order=DESC');foreach($lastPosts as $post): setup_postdata($post);?><li <?php tie_post_class(); ?>><?php if ( function_exists("has_post_thumbnail") && has_post_thumbnail() && $thumb ) : ?> <div class="post-thumbnail"> <a href="<?php the_permalink(); ?>" title="<?php printf( __( 'Permalink to %s', 'tie' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"><?php tie_thumb(); ?><span class="overlay-icon"></span></a> </div><!-- post-thumbnail /--><?php endif; ?><h3><a href="<?php the_permalink(); ?>"><?php the_title();?></a></h3><?php tie_get_score(); ?> <span class="date"><?php the_time('d F Y'); ?></span></li><?php endforeach;$post = $orig_post;}. محبوبترین مطالب هست که مقدار cat رو وارد کردم . منتها الان میخوام محدود به زمانش یعنی مطالب هفته یا مطالب ماه کنم . هر چه کد در مورد محدوده زمانی بود تست کردم نشد شاید تو جا گذاری اشتباه بوده. نقل قول لینک به ارسال
ssll 20 ارسال شده در بهمن 92 مالک گزارش بازنشر ارسال شده در بهمن 92 خب دوستان من کد خودم رو اماده کردم و به این شکل در اوردم function tie_last_posts_cattb($numberOfPosts = 5 , $thumb = true , $cats = 1){//add_filter( 'posts_where', 'filter_where_today' );$today = getdate();$args=array('date_query' => array(array('year' => $today["year"],'month' => $today["mon"],'day' => $today["mday"],),),'cat'=>$cats,'posts_per_page'=>$numberOfPosts,'orderby'=>'comment_count','order'=>'DESC');$lastPosts =new WP_Query($args);//remove_filter( 'posts_where', 'filter_where_today' );while($lastPosts->have_posts()):$lastPosts->the_post(); ?><li <?php tie_post_class(); ?>><?php if ( function_exists("has_post_thumbnail") && has_post_thumbnail() && $thumb ) : ?><div class="post-thumbnail"><a href="<?php the_permalink(); ?>" title="<?php printf( __( 'Permalink to %s', 'tie' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"><?php tie_thumb(); ?><span class="overlay-icon"></span></a></div><!-- post-thumbnail /--><?php endif; ?><h3><a href="<?php the_permalink(); ?>"><?php the_title();?></a></h3><?php tie_get_score(); ?> <span class="date"><?php the_time('d F Y'); ?></span></li><?php endwhile;$post = $orig_post;}اینجا محبوبترین مطالب امروز رو می یاره . میخوام براش یه شرط بزارم که اگه در مدیریت ابزارک گزینه زمان 24 ساعت انتخاب شد مطالب امروز رو بیار اگه هفته انتخاب شد مطالب هفته رو بیار اگه ماه انتخاب شد مطالب ماه رو بیارگزینه ها در ابزارک هم به این شرح می باشند <p><label for="<?php echo $this->get_field_id( 'posts_orderr' ); ?>">نوع زمان : </label><select id="<?php echo $this->get_field_id( 'posts_orderr' ); ?>" name="<?php echo $this->get_field_name( 'posts_orderr' ); ?>" ><option value="latestt" <?php if( $instance['posts_orderr'] == 'latestt' ) echo "selected=\"selected\""; else echo ""; ?>>ماه </option><option value="randomm" <?php if( $instance['posts_orderr'] == 'randomm' ) echo "selected=\"selected\""; else echo ""; ?>>هفته</option><option value="popularr" <?php if( $instance['posts_orderr'] == 'popularr' ) echo "selected=\"selected\""; else echo ""; ?>>24 ساعت</option><option value="bestt" <?php if( $instance['posts_orderr'] == 'bestt' ) echo "selected=\"selected\""; else echo ""; ?>>همه زمان ها</option></select></p>الان ابزارک من در مدیریت به این شکل هست فقط شرطش مونده ممنون میشم اساتید کمک کنن خیلی زحمت کشیدم تا اینو به این صورت در اوردم فقط مرحله اخر مونده . در اینجا هم مشخص میشه که دسته رو انتخاب کنیم هم مشخص میشه در چه زمانی باشه هم مشخص میکنه تصویر شاخص گذاشته بشه یا نه نقل قول لینک به ارسال
imanfakhar 26231 ارسال شده در بهمن 92 گزارش بازنشر ارسال شده در بهمن 92 اول کد صفحه تنظیماتتون رو با مقادیر مرتبط اصلاح کنید <label for="<?php echo $this->get_field_id( 'posts_orderr' ); ?>">نوع زمان : </label><select id="<?php echo $this->get_field_id( 'posts_orderr' ); ?>" name="<?php echo $this->get_field_name( 'posts_orderr' ); ?>" ><option value="mounth" <?php if( $instance['posts_orderr'] == 'mounth' ) echo "selected=\"selected\""; else echo ""; ?>>ماه </option><option value="week" <?php if( $instance['posts_orderr'] == 'week' ) echo "selected=\"selected\""; else echo ""; ?>>هفته</option><option value="day" <?php if( $instance['posts_orderr'] == 'day' ) echo "selected=\"selected\""; else echo ""; ?>>24 ساعت</option><option value="all" <?php if( $instance['posts_orderr'] == 'all' ) echo "selected=\"selected\""; else echo ""; ?>>همه زمان ها</option></select>و بعد شرط بگذارید <?php$posts_orderr =get_option('posts_orderr');if($posts_orderr == 'mounth') {//کدهای کوئری ماهیانه}elseif($posts_orderr == 'week') {// کدهای کوئری هفتگی}?>البته من در کوئریتون تابع یا پارامتری برای خواندن پست های برتر یک محدوده زمانی نمی بینم که شما بخواهید مدیریتش کنید 2 نقل قول لینک به ارسال
ssll 20 ارسال شده در بهمن 92 مالک گزارش بازنشر ارسال شده در بهمن 92 این کد مگر محدوده زمانی امروز( یا 24 ساعت ) نیست؟ : 'date_query' => array(array('year' => $today["year"],'month' => $today["mon"],'day' => $today["mday"],),),چون من امتحان کرده بودم درست عمل کرد و فقط مطالب محبوب امروز رو اورد حالا براش این شرط رو اینجوری گذاشتم خطا دادfunction tie_last_posts_cattb($numberOfPosts = 5 , $thumb = true , $cats = 1){//add_filter( 'posts_where', 'filter_where_today' );$today = getdate();<?php$posts_orderr =get_option('posts_orderr');if($posts_orderr == 'day') {$args=array( 'date_query' => array( array( 'year' => $today["year"], 'month' => $today["mon"], 'day' => $today["mday"], ),),}?> 'cat'=>$cats, 'posts_per_page'=>$numberOfPosts, 'orderby'=>'comment_count', 'order'=>'DESC'); $lastPosts =new WP_Query($args);//remove_filter( 'posts_where', 'filter_where_today' );while($lastPosts->have_posts()):$lastPosts->the_post(); ?><li <?php tie_post_class(); ?>><?php if ( function_exists("has_post_thumbnail") && has_post_thumbnail() && $thumb ) : ?> <div class="post-thumbnail"> <a href="<?php the_permalink(); ?>" title="<?php printf( __( 'Permalink to %s', 'tie' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"><?php tie_thumb(); ?><span class="overlay-icon"></span></a> </div><!-- post-thumbnail /--><?php endif; ?><h3><a href="<?php the_permalink(); ?>"><?php the_title();?></a></h3><?php tie_get_score(); ?> <span class="date"><?php the_time('d F Y'); ?></span></li><?php endwhile;$post = $orig_post;} نقل قول لینک به ارسال
imanfakhar 26231 ارسال شده در بهمن 92 گزارش بازنشر ارسال شده در بهمن 92 مطالب روز هست ولی مطالب محبوب روز نه پر دیدگاه ترین مطالبی که امروز منتشر شده اند <?phpfunction tie_last_posts_cattb($numberOfPosts = 5 , $thumb = true , $cats = 1){//add_filter( 'posts_where', 'filter_where_today' );$today = getdate();$posts_orderr =get_option('posts_orderr');$day=array('date_query' => array(array('year' => $today["year"],'month' => $today["mon"],'day' => $today["mday"],),),'cat'=>$cats,'posts_per_page'=>$numberOfPosts,'orderby'=>'comment_count','order'=>'DESC');$month=array('date_query' => array(array('year' => $today["year"],'month' => $today["mon"],),),'cat'=>$cats,'posts_per_page'=>$numberOfPosts,'orderby'=>'comment_count','order'=>'DESC');if($posts_orderr == 'month') {$lastPosts =new WP_Query($month);}else {$lastPosts =new WP_Query($day);}//remove_filter( 'posts_where', 'filter_where_today' );while($lastPosts->have_posts()):$lastPosts->the_post(); ?><li <?php tie_post_class(); ?>><?php if ( function_exists("has_post_thumbnail") && has_post_thumbnail() && $thumb ) : ?><div class="post-thumbnail"><a href="<?php the_permalink(); ?>" title="<?php printf( __( 'Permalink to %s', 'tie' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"><?php tie_thumb(); ?><span class="overlay-icon"></span></a></div><!-- post-thumbnail /--><?php endif; ?><h3><a href="<?php the_permalink(); ?>"><?php the_title();?></a></h3><?php tie_get_score(); ?> <span class="date"><?php the_time('d F Y'); ?></span></li><?php endwhile;$post = $orig_post;} ?> 3 نقل قول لینک به ارسال
ssll 20 ارسال شده در بهمن 92 مالک گزارش بازنشر ارسال شده در بهمن 92 (ویرایش شده) هم ماه رو زدم هم روز ولی فقط مطالب محبوب(پردیدگاه) همون روز رو می اورد گویا شرط کار نمیکرد ویرایش شده بهمن 92 توسط ssll نقل قول لینک به ارسال
imanfakhar 26231 ارسال شده در بهمن 92 گزارش بازنشر ارسال شده در بهمن 92 توی کد فرم من اشتباهی month را mount نوشتم اصلاحش کنید درست می شه<option value="month" <?php if( $instance['posts_orderr'] == 'month' ) echo "selected=\"selected\""; else echo ""; ?>>ماه </option> 1 نقل قول لینک به ارسال
ssll 20 ارسال شده در بهمن 92 مالک گزارش بازنشر ارسال شده در بهمن 92 بازم کار نکرد نقل قول لینک به ارسال
imanfakhar 26231 ارسال شده در بهمن 92 گزارش بازنشر ارسال شده در بهمن 92 تاریخ ها میلادی باید ست بشند یعنی در حالت ماهیانه باید پر کامنت ترین مطالب ده روز گذشته را بیاره در کل من این کد را توصیه نمی کنم در نهایت هم که ارابشه کوئری خیلی سنگینی می سازه که قابل استفاده نخواهد بود بهتره این آموزش را مرور کنید http://forum.wp-parsi.com/tutorials/article/138-%D9%BE%D8%B1%D8%A8%D8%A7%D8%B2%D8%AF%DB%8C%D8%AF-%D8%AA%D8%B1%DB%8C%D9%86-%D9%85%D8%B7%D8%A7%D9%84%D8%A8/ 1 نقل قول لینک به ارسال
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .