حتما برای شما هم پیش اومده که بخواید مثلا عنوان ۵ مورد از محبوب ترین مطالب سایت وردپرسی تون رو براساس تعداد بازدید اونها نشون بدید و البته تعداد بازدید هر مطلب رو هم جلوش بنویسید. خب من هم تو این مطلب دقیقا قصد دارم بهتون یاد بدم چطور این کارو انجام بدید.

اولین چیزی که لازم داریم یه تابع هستش که تعداد بازدید مطالب رو ذخیره کنه و یه تابعی که بتونه تعداد بازدید رو نمایش بده.

حالا اگر میخواید پست ها رو بر اساس تعداد بازدید اونها مرتب کنید، این کارو به راحتی با استفاده از WP_Query میتونید انجام بدید. کوئری حلقه شما میتونه چیزی شبیه این باشه:

<?php 
$popularpost = new WP_Query(array( 
    'posts_per_page' => 5, 
    'meta_key' => 'post_views_count', 
    'orderby' => 'meta_value_num', 
    'order' => 'DESC'  
));
 
while ( $popularpost->have_posts() ) : $popularpost->the_post();
    echo '<p><a href="',the_permalink(),'">',the_title(),'</a>';
    echo ' تعداد بازدید: ',getPostViews(get_the_ID()),'</p>';
endwhile;
?>

توضیح خلاصه اینکه ۵ پست آخری که ستون meta_key اونها post_views_count هست رو براساس مقدار عددی ستون meta_value به صورت نزولی مرتب کردیم و نتیجه رو داخل متغیر $popularpost ریختیم و ازش برای ایجاد حلقه استفاده کردیم. کدهای داخل حلقه هم که دیگه مشخصه چیه.

پارامتر های دیگری هم برای WP_Query وجود داره که میتونید از خود codex باهاشون آشنا بشید.

امیدوارم این مطلب مفید بوده باشه.

منبع
محمد جواد کوشکی
خودمو یک متخصص نمی دونم چون هر روز دارم چیز های جدیدی در حوزه کسب و کار اینترنتی یاد می گیرم.