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

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

در گام نخست تعداد بازدیدهای هر پست را در دیتابیس وردپرس ذخیره می کنیم، برای اینکار کدهای زیر را در فایل functions.php قرار دهید.

function set_post_view_custom_field() {
if ( is_single() ) {
global $post;
$post_id = $post->ID;
$count = 1;
$post_view_count = get_post_meta( $post_id, 'post_view_count', true );
if ( $post_view_count ) {
$count = $post_view_count + 1;
}
update_post_meta( $post_id, 'post_view_count', $count );
}
}
add_action( 'wp_head', 'set_post_view_custom_field' );

نمونه کد بالا در هر بار رفرش صفحه مشاهده مطلب(single.php) تعداد بازدیدها را محاسبه کرده و در متغیر count$ نگهداری می کند، سپس با تابع update_post_meta مقدار این متغیر را در جدول wp_postmeta ذخیره می کنیم.

نمایش تعداد بازدید در پنل وردپرس

حال زمان آن رسیده است که تعداد بازدید هر مطلب را در پنل مدیریتی وردپرس نشان دهیم، اول از همه ستون سفارشی “تعداد بازدید” را به لیست همه نوشته ها اضافه می کنیم، پس:

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

function add_post_view_count_column( $columns ) {
if( is_array( $columns ) && ! isset( $columns['post_view_count'] ) )
$columns[ 'post_view_count' ] = 'تعداد بازدید';
return $columns;
}
add_filter( 'manage_posts_columns', 'add_post_view_count_column' );

در مرحله بعد مقدار ستون “تعداد بازدید” را به کمک تابع get_post_meta از دیتابیس فراخوانی کرده و ست می کنیم.

function set_post_view_count_column( $column_name, $post_ID ) {
if ( $column_name == 'post_view_count' ) {
$count = get_post_meta( $post_ID, 'post_view_count', true );
echo $count ? $count : 0;
}
}
add_action( 'manage_posts_custom_column', 'set_post_view_count_column', 10, 2);

نمایش تعداد بازدید در قالب سایت

برای نمایش تعداد بازدید در قالب سایت کد زیر را به فایل functions.php اضافه نمائید.

function get_post_view_count( $post_id ){
return get_post_meta( $post_id, 'post_view_count', true );
}

حال تابع get_post_view_count را در فایل های single.php و index.php(بسته به طراحی قالب) فراخوانی می کنیم.

<li>
     <i class="fa fa-heart-o"></i>
     <span>
        <?php
                if ( function_exists( 'get_post_view_count' ) ) {
                   echo get_post_view_count( get_the_ID() ) . ' بازدید ';
               }
            ?>
     </span>
</li>