برای نمایش پربازدیدترین نوشته های وردپرسدو روش عمده وجود دارد؛

1- نمایش پربازدیدترین عنوان ها با افزونه
2- نمایش پربازیدترین عنوان ها بدون افزونه

1- نمایش پربازدیدترین عنوان ها با افزونه

برای نمایش پربازدید ترین مطالب در وردپرس با استفاده از این حلقه پیشرفته کافیست افزونه WP Most Popular را در وردپرس خود نصب و فعالسازی کنید. سپس برای استفاده از حلقه مطالب محبوب از کد حلقه زیر در هر جا که تمایل به نمایش دارید استفاده کنید:

<?php
echo '<ul>';
$posts = wmp_get_popular( array( 'limit' => 10, 'post_type' => 'post', 'range' => 'all_time' ) );
global $post;
if ( count( $posts ) > 0 ): foreach ( $posts as $post ):
setup_postdata( $post );
?>
<li><a href="<?php the_permalink() ?>" title="<?php echo esc_attr(get_the_title() ? get_the_title() : get_the_ID()); ?>"><?php if ( get_the_title() ) the_title(); else the_ID(); ?></a></li>
<?php
endforeach; endif;
echo '</ul>';
?>

به این ترتیب میتوانید پر بازدیدترین مطالب سایت وردپرسی خود را به نحوی حرفه ایی تر به نمایش در آورید.

2- نمایش پربازیدترین عنوان ها بدون افزونه و با کد

برای نمایش پربازدیدترین ها باید سه قطعه کد که در ادامه به آن ها می پردازیم را در سه فایل functions.php و single.php و sidebar.php قراردهید. البته فایل sidebar.php بسته به اینکه پربازدیدترین های شما کجا قرار دارد متفاوت است.

نکته : برای نمایش پربازدیدترین ها قسمتی از سایت خود که دید بهتری دارد (مثلاً سایدبار) را انتخاب نمایید.

ابتدا در فایل functions.php قطعه کد زیر را قرار دهید.

<?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 "بدون بازدید";
    }
    return $count;
}
// function to 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 و داخل حلقه قرار دهید. این کد تعداد بازدید از هر مطلب را نشان می دهد.

<?php setPostViews(get_the_ID()); ?>

کد حلقه به صورت زیر است:

ابتدای حلقه

<?php if(have_posts()) : ?><?php while(have_posts()) : the_post(); ?>

انتهای حلقه

<?PHP endwhile; ?>
 <?PHP endif; ?>

برای درک بهتر یک نمونه کد صفحه single را برای شما قرار دادیم که به صورت زیر است:

<div class="single-contents">
         <?php if(have_posts()) : ?><?php while(have_posts()) : the_post(); ?>
         <?php setPostViews(get_the_ID()); // baraye por bazdidtarinha ?> 
          <div class="single-content">
          <p id="title"><?php the_title() ?></p>
         	<?php the_content();?>
         </div>
          <?php endwhile; ?>
          <?php endif; ?>
</div>

و در آخر کد زیر را قبل از قسمت پربازدیدترین ها قراردهید. مقدار showposts تعداد پست های پربازدیدی است که قرار است نمایش بدهد که شما می توانید به دلخواه آن را تغییر دهید.

<?php query_posts('meta_key=post_views_count&showposts=4&orderby=meta_value_num&order=DESC');
if (have_posts()) : while (have_posts()) : the_post(); ?>

کد زیر را نیز باید بعد از قسمت پربازدیدترین ها قرار بدهید.

<?php endwhile; endif; wp_reset_query(); ?>

یک نمونه کد پربازدیدترین ها در زیر قرار گرفته تا محل قرار دادن کدهای بالا را بهتر درک کنید.

<div class="sidebar-box">
	<div class="sidebar-header">
			<div class="sidebar-text"><a href="#">پربازدیدترین ها</a></div>
	</div>
	<div class="content">
	<?php    query_posts('meta_key=post_views_count&showposts=3&orderby=meta_value_num&order=DESC');
    if (have_posts()) : while (have_posts()) : the_post(); ?>
	<div class="best-sellers"><?php the_post_thumbnail('most-view'); ?>
	<div class="saller-txt"><a href="<?PHP the_permalink() ?>"><?php the_excerpt();?></a></div>
	</div>	
	<?php endwhile; endif; wp_reset_query(); ?>
	</div>	
</div>