کد وردپرس : نمایش محبوب ترین مطالب بر اساس تعداد بازدید (بدون افزونه)
درود بر همه ی دوستان سون لرنی. حتما برای شما هم پیش اومده که بخواید مثلا عنوان 5 مورد از محبوب ترین مطالب سایت وردپرسیتون رو براساس تعداد بازدید اونها نشون بدید و البته تعداد بازدید هر مطلب رو هم جلوش بنویسید. خب من هم تو این مطلب دقیقا قصد دارم بهتون یاد بدم چطور این کارو انجام بدید.
اولین چیزی که لازم داریم یه تابع هستش که تعداد بازدید مطالب رو ذخیره کنه و یه تابعی که بتونه تعداد بازدید رو نمایش بده. آقای علی محمدی قبلا در این باره مطلبی رو نوشتن و ما از مطلب ایشون برای این کار استفاده میکنم. اگر قبلا مطلبشون رو مطالعه نکردین، اینجا رو بخونید.
حالا اگر میخواید پست ها رو بر اساس تعداد بازدید اونها مرتب کنید، این کارو به راحتی با استفاده از WP_Query میتونید انجام بدید. کوئری حلقه شما میتونه چیزی شبیه این باشه:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<?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;
?>
|
توضیح خلاصه اینکه 5 پست آخری که ستون meta_key اونها post_views_count هست رو براساس مقدار عددی ستون meta_value به صورت نزولی مرتب کردیم و نتیجه رو داخل متغیر
ریختیم و ازش برای ایجاد حلقه استفاده کردیم. کدهای داخل حلقه هم که دیگه مشخصه چیه.پارامتر های دیگری هم برای WP_Query وجود داره که میتونید از خود codex باهاشون آشنا بشید.
امیدوارم این مطلب مفید بوده باشه.
- ۹۳/۰۲/۲۴