رفتن به مطلب

درخواست کد برترین مطالب دسته ای خاص


پست های پیشنهاد شده

سلام به انجمن خوش آمدید

1. قوانین رو بخونید و قبل از ارسال پست جستجو کنید

این هم حلقه مطالب برتر وردپرس


<?php $result = $wpdb->get_results("SELECT comment_count,ID,post_title FROM $wpdb->posts ORDER BY comment_count DESC LIMIT 0 , 10");
foreach ($result as $post) {
setup_postdata($post);
$postid = $post->ID;
$title = $post->post_title;
$commentcount = $post->comment_count;
if ($commentcount != 0) { ?>

<li><a href="<?php echo get_permalink($postid); ?>" title="<?php echo $title ?>"><?php echo $title ?></a></li>


<?php } } ?>

  • امتیاز 3
لینک به ارسال

چون مربوط به دسته ای خاص میشه باید Category رو هم درش دخیل کنید

(با استفاده از comment)


<?php
$category = get_category( get_query_var( 'cat' ) );
$curCatId = $category->cat_ID;
$args = array(
'numberposts' => 10,
'cat' => $curCatId,
'orderby' => 'comment_count'
);
$popPosts = get_posts( $args );
echo '<ul>';
foreach ( $popPosts as $popPost ) {
setup_postdata( $popPost );
echo '<li><a href="'.get_permalink().'">'.get_the_title().'</a></li>';
}
echo '</ul>';
wp_reset_postdata();
?>

اگر میخواهید بر مبنای بیشترین بازدید انجام دهید

وردپرس قابلیت ذخیره تعداد بازدید هر پست را به صورت پیشفرض ندارد که با استفاده از اضافه نمودن تابع زیر در فایل functions.pgp قالب این قابلیت را اضافه میکنیم

کد زیر رو داخل function.php قالب بزارید


function getPostViews($postID){
$count_key = 'post_views_count';
$count = get_post_meta($postID, $count_key, true);
if($count==''){
delete_post_meta($postID, $count_key);
add_post_meta($postID, $count_key, '0');
return "0 View";
}
return $count.' Views';
}
function setPostViews($postID) {
$count_key = 'post_views_count';
$count = get_post_meta($postID, $count_key, true);
if($count==''){
$count = 0;
delete_post_meta($postID, $count_key);
add_post_meta($postID, $count_key, '0');
}else{
$count++;
update_post_meta($postID, $count_key, $count);
}
}

کد زیر رو در صفحه single.php تو حلقه پست بزارید


setPostViews(get_the_ID());

برای بدیت اوردن برترین ارسالهای یک دسته بر اساس بازدید


<?php
$category = get_category( get_query_var( 'cat' ) );
$curCatId = $category->cat_ID;
$args = array(
'numberposts' => 10,
'cat' => $curCatId,
'meta_key' => 'post_views_count',
'orderby' => 'meta_value_num',
'order' => 'DESC'
);
$popPosts = get_posts( $args );

echo '<ul>';
foreach ( $popPosts as $popPost ) {
setup_postdata( $popPost );
echo '<li><a href="'.get_permalink().'">'.get_the_title().'</a></li>';
}
echo '</ul>';
wp_reset_postdata();
?>

  • امتیاز 5
لینک به ارسال

تست کنید :

<?php
query_posts('meta_key=post_views_count&orderby=meta_value_num&order=DESC&showposts=10');
if (have_posts()) : while (have_posts()) : the_post(); ?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a><small><?php echo getpostviews(get_the_ID()); ?></small></li>
<?php
endwhile; endif;
wp_reset_query();
?>

  • امتیاز 2
لینک به ارسال

لطفا برای ارسال دیدگاه وارد شوید

شما بعد از اینکه وارد حساب کاربری خود شدید می توانید دیدگاهی ارسال کنید



ورود به حساب کاربری
×
×
  • اضافه کردن...