در وردپرس و اغلب نرم‌افزارهای مدیریت سایت، زمانی که پست جدیدی منتشر می‌شود، فایل RSS یا Feed سایت به صورت خودکار بروزرسانی می‌شود و معمولاً اگر مقاله‌ی منتشر شده را ویرایش کنید، تغییرات به صورت لحظه‌ای و آنی روی فید سایت دیده نمی‌شود! چرا که فید کش شده است. به این ترتیب اگر اشتباهی در عنوان یا مقدمه یا بدنه‌ی مطلب و غیره وجود داشته باشد، تا انتشار مطلب بعدی در فید باقی می‌ماند و مشکل‌ساز می‌شود.

برای حل این مشکل می‌توان زمان کش کردن فید سایت را که به صورت پیش‌فرض ۱۲ ساعت یا ۴۳۲۰۰ ثانیه است را کاهش داد. در این مقاله به روش استفاده از فیلتر wp_feed_cache_transient_lifetime برای کاهش و افزایش زمان کش فید در WordPress می‌پردازیم و دو روش غیرفعال کردن کش فید را بررسی می‌کنیم.

گاهی مواقع مدیر سایت وردپرسی می‌خواهد مدت زمان کش کردن Feed یا خوراک مطالب سایت را کاهش دهد و گاهی وضعیت برعکس می‌شود و تمایل به افزایش آن دارد. در هر دو حالت می‌توانید از فیلتری به اسم wp_feed_cache_transient_lifetime استفاده کنید.

افزایش و کاهش زمان کش فید در WordPress

برای استفاده از فیلتر wp_feed_cache_transient_lifetime می‌بایست پلاگین جدیدی ایجاد کنید یا مستقیماً تابع جدیدی در فایل functions.php پوسته‌ی فعال و اصلی سایت وردپرسی تعریف کنید و سپس از این فیلتر استفاده کنید. بنابراین کد زیر را در فایل functions.php قرار دهید و به جای عدد ۷۲۰۰ که مدت زمان کش بر حسب ثانیه است، عدد دیگری که مدنظرتان است را بر حسب ثانیه قرار دهید.

اگر بخواهید کش کردن فید به کلی غیرفعال شود، می‌توانید از عدد کوچکی مثل ۱ ثانیه استفاده کنید اما روش‌های دیگری نیز برای این مهم وجود دارد.

غیرفعال کردن کش فید در وردپرس

روش اول برای غیرفعال کردن کش کردن فید مطالب در وردپرس، استفاده از زمان کوتاهی مثل ۱ ثانیه به عنوان مدت زمان نگهداری کش است که قبلاً به این روش اشاره کردیم. روش بعدی استفاده از یک آپشن فید وردپرس برای غیرفعال کردن کش استفاده کنید. لذا به فایل functions.php قالب اصلی و مادر مراجعه کرده و کدهای زیر را اضافه کنید:

به این ترتیب آپشن turn_off_feed_caching فعال شده و فید وردپرس کش نمی‌شود.

روش سوم برای غیرفعال کردن کش در وردپرس، استفاده از فایل wp-config.php است. این فایل در روت سایت ورپرسی موجود است و تنظیمات مهم و اساسی مثل نام دیتابیس، نام کاربری و رمز عبور برای دسترسی به دیتابیس و تنظیمات مهم و کاربردی دیگری را شامل می‌شود.

برای تغییر دادن مدت زمان کش فید به عدد کوچکی مثل ۱ ثانیه، از کد زیر استفاده کنید و به عنوان مثال آن را به انتهای فایل wp-config.php اضافه کنید:

به این ترتیب همواره فید وردپرس به مدت ۱ ثانیه کش می‌شود و بروزرسانی به صورت لحظه‌ای نخواهد بود.

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