تاریخ انقضا نوشته وردپرس
گاهی نوشتهها یا صفحات وردپرس باید پس از تاریخ مشخصی خودکار غیرفعال شوند. مثلاً اطلاعیههای موقت، پیشنهادات تخفیف با مهلت محدود، آگهیهای استخدام و رویدادها.
افزونه PublishPress Future
افزونه PublishPress Future (قبلاً Post Expirator) محبوبترین ابزار مدیریت انقضای نوشتهها. پس از نصب، در ویرایشگر هر نوشته بخش تنظیم تاریخ انقضا اضافه میشود. تاریخ و ساعت تنظیم کنید. عملکرد پس از انقضا: پیشنویس کردن، حذف، تغییر دستهبندی یا تغییر وضعیت.
کد سفارشی در functions.php
function check_expired_posts() {
$args = array(
'post_type' => 'post',
'meta_key' => 'expiration_date',
'meta_value' => date('Y-m-d'),
'meta_compare' => '<=',
'post_status' => 'publish'
);
$expired = new WP_Query($args);
while ($expired->have_posts()) {
$expired->the_post();
wp_update_post(array(
'ID' => get_the_ID(),
'post_status' => 'draft'
));
}
wp_reset_postdata();
}
add_action('wp', 'check_expired_posts');
برای هر نوشته Custom Field با نام expiration_date و مقدار تاریخ اضافه کنید.
بهتر: WP-Cron
عملکرد بررسی انقضا بهتر است با WP-Cron زمانبندی شود تا فقط یکبار در روز اجرا شود و فشاری روی سرور ایجاد نکند.
نکات SEO
پس از انقضا، بهتر است به جای حذف کامل، نوشته را ریدایرکت 301 به صفحه مرتبط کنید تا لینکهای خارجی و اعتبار سئو از دست نرود.
هاست وردپرس میهن هاستینگ با Cron Job و PHP بهینه. سرور مجازی اروپا با WP-CLI.