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

1187 بازدید
پنج شنبه ۱۹ شهریور ۱۳۹۴
آموزش قرار دادن پربازدیدترین مطالب وردپرس بدون افزونهReviewed by جواد نبوی on Sep 10Rating: 4.5

سلام; در این پست با آموزش قرار دادن پربازدیدترین مطالب وردپرس در خدمتتون هستیم. اگه وردپرسی هستید حتما از قدرت و تعداد افزونه های وردپرس اطلاع دارید. اما این افزونه ها در عین مفید بودن میتونن بسیار مضر هم باشن. استفاده بیش از حد از افزونه های وردپرس میتونه منجر به کندی سایت و مصرف زیاد از منابع سرور بشه. درصورتی که برای بسیاری از کارهای معمول اصلا نیازی به افزونه ها نیست. برای مثال, برای نمایش پربازدیدترین مطالب افزونه های زیادی مثل wp post-views و … وجود دارند اما اگر این آموزش رو بخونید متوجه میشید که اصلا نیازی به افزونه نیست. پس با ما باشید.

آموزش:

ابتدا کد زیر رو به انتهای فایل functions.php قالبتون اضافه کنید:

PHP
/*popular(most viewed) posts*/
<?php function wpb_set_post_views($postID) {
    $count_key = 'wpb_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);
    }
}
//To keep the count accurate, lets get rid of prefetching
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0);?>

سپس کد زیر رو در حلقه ی مطالبِ فایل single.php قالبتون قرار بدید:

PHP
wpb_set_post_views(get_the_ID());

یعنی اگر مثلا حلقه ی مطالب قالب شما به شکل زیر هست:

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

باید به شکل زیر بشه:

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

اگر باز هم مشکلی داشتید به تصویر زیر دقت کنید:

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

با انجام اینکار, یک زمینه دلخواه به هر مطلب اضافه میشه که با هر بار لود کردن مطلب, مقدارش به اندازه یک عدد بالا میره. در مرحله ی بعد باید لیستی از پربازدیدترین مطالب (به ترتیب بازدید) رو به قسمتی از سایت که میخوایم (مثلا سایدبار) اضافه کنیم. کد زیر اینکار رو انجام میده:

PHP
<?php
$popularpost = new WP_Query( array( 'posts_per_page' => 4, 'meta_key' => 'wpb_post_views_count', 'orderby' => 'meta_value_num', 'order' => 'DESC' ) );
while ( $popularpost->have_posts() ) : $popularpost->the_post();?>
<li><a href="<?php the_permalink();?>" title="<?php the_title();?>"><?php the_title();?></a></li>
<?php
endwhile;
?>

کد بالا درواقع لینک هر مطلب رو درون تگ های <li> </li> قرار میده. میتونید طبق سلیقه خودتون تگ ها رو جابجا یا حذف کنید.

به همین راحتی و بدون استفاده از هیچ افزونه ای, تونستیم پربازدیدترین مطالب سایت رو نمایش بدیم. سعی می کنیم نحوه انجام کار های دیگه رو هم بدون افزونه به شما آموزش بدیم. موفق باشید

تبلیغات

نویسنده (مدیر سایت)

جواد نبوی هستم. حدود 7 سالی میشه در زمینه طراحی وب و گرافیک کار می کنم و بعد از توپ دیزاین، این دومین سایت آموزش طراحی وب و گرافیک هستش که راه انداختم. امیدوارم بتونم برای همه ی شما مفید باشم.

4 دیدگاه برای “آموزش قرار دادن پربازدیدترین مطالب وردپرس بدون افزونه”

  1. poorya گفت:

    این کد بر چه اساسیه ؟؟
    هفتگی یا روزانه یا سالانه؟؟؟

    1. جواد نبوی گفت:

      سلام
      این کد براساس آمار بازدید کلیه. یعنی از اول تا الان.

  2. هادی گفت:

    سلام دوست گرامی
    اگر بخایم تو دسته های مختلفی نمایش بده باید چیکار کنیم
    مثلا پربازدیترین های ۸ ساعت گذشته
    امروز
    دیروز
    هفته جاری
    هفته گذشته
    ماه
    سال
    ممکنه این ها رو توضیح بدید که چه کدهایی رو باید به ساید بار اضافه کنیم برای نمایش اینها

    1. جواد نبوی گفت:

      سلام دوست محترم
      برای اینکار میتونید از افزونه ی WordPress Popular Posts استفاده کنید.
      با آرزوی موفقیت

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *