WordPress如何实现feed延迟发布几天或几小时发布?

默认情况下,WordPress的feed更新文章的速度还是挺快的,不过我不想让feed更新太快,比如推迟3天,或一周等,那么应该怎么实现呢?

本问题由网友于2025/01/22 18:00提出,已被浏览 1.35K 次

香港免备案虚拟主机55元/年
共1个答案
  1. avatar
    boke112百科(站长)2025-05-19 16:58回复

    只需要将以下代码添加到当前主题的functions.php文件中并保存更新文件即可。

    //防RSS采集,让WordPress RSS/Feed订阅数据自定义时间延时发布推送 - https://www.dujin.org/14132.html
    
    function publish_later_on_feed($where) {
    global $wpdb;
    if ( is_feed() ) {
    $now = gmdate('Y-m-d H:i:s');
    //数据延迟1天显示,也就是feed只会输出截止到前天的数据,可根据实际需求自行修改
    $wait = '1';
    $device = 'DAY';//其他时间单位可参考https://www.dujin.org/14132.html中的说明
    $where .= " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$now') > $wait ";
    }
    return $where;
    }
    add_filter('posts_where', 'publish_later_on_feed');

    上述代码中的feed就是延迟1天输出,其中$wait = '1',这个“1”就是我们要设置的时间数字,后面的$device = 'DAY',这个“DAY”就是设置的时间单位“天”。

    我们还可以自己站点的实际情况自行调整这个时间单位和时间数字,其中时间单位还可以选择SECOND、MINUTE、HOUR、 DAY、 WEEK、 MONTH、YEAR,对应意思就是秒、分、时、日、周、月、年。

    以上答案整理自@缙哥哥 » 防RSS采集,让WordPress RSS/Feed订阅自定义延时发布推送


写回答

7 + 5 =

wu