وردپرس: ایجاد تأخیر در قرار گرفتن مطالب سایت در خوراک RSS
کد تخفیف در جریان devme1397 %10 تا آخر پاییز97

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

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

یا حتی اگر درگیر سایت های کپی برداری مطالب از طریق RSS هستیم ، بخواهیم مطالب سایتمان را دیرتر دریافت کنند! با این وجود اگر اجازه بدهیم تا ربات های گوگل ابتدا مطلب را در سایت خودمان ایندکس کنند سپس مطلب در بین سایت های دیگر منتشر شود، بهتر خواهد بود!

اما راه حل اینکار چیست؟ و چگونه می توانیم مطالبی که در سایت منتشر می کنیم، دیرتر در خوراک RSS قرار دهیم؟

بسیار آسان است! تنها کافیست تعیین کنیم که مطالب جدید پس از یک مدت زمان خاص در خوراک قرار گیرند. برای مثال می توانیم تعیین کنیم که مطالب جدید پس از 30 دقیقه از زمان انتشار در خوراک نمایان شوند. در این فاصله فرصت کافی خواهیم داشت تا مطلب منتشر شده را بررسی کنیم و اگر دارای اشکالاتی بود آن را رفع کنیم تا مشترکین سایت مطالب را به طور کامل و بدون اشتباهات دریافت نمایند.

 

جهت ایجاد این تاخیر ، کد زیر را در فایل functions.php قالبتان قرار دهید:

function devme_publish_later_on_feed($where) { 
    global $wpdb;
 
    if ( is_feed() ) {

        $now = gmdate('Y-m-d H:i:s');
 
        $wait = '30'; // integer
 
        $device = 'MINUTE'; //MINUTE, HOUR, DAY, WEEK, MONTH, YEAR
 
        $where .= " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$now') > $wait ";
    }
    return $where;
}
 
add_filter('posts_where', 'devme_publish_later_on_feed');

تنظیمات :

  • در خط 9 کد بالا، ابتدا باید تعیین کنیم واحد زمانی برای اعمال تاخیر چیست. در کد بالا به صورت پیش فرض از واحد “MINUTE” یعنی “دقیقه” استفاده کرده ایم که می توانید آن را روی HOUR (ساعت) یا DAY (روز) یا WEEK (هفته) ، MONTH (ماه)  و YEAR (سال) قرار دهید. (داخل کد بالا در خط 9 مقادیری که می توانید استفاده کنید آورده شده است.)
  • پس از اینکه در خط 9 واحد زمانی را تعیین کردیم، اکنون باید در خط 8 کد مقدار زمان را وارد کنیم. برای مثال در کد بالا ما میزان تاخیر تا قرار گیری مطالب در خوراک را 30 دقیقه تعیین کرده ایم.

هنوز دیدگاهی ارسال نشده! نظر شما چیست؟

دیدگاه شما درباره این صفحه چیست؟