在WP RSS提要中仅包含最近的自定义帖子

时间:2019-04-20 作者:Robert Zalinyan

如何禁用lastBuildDate 对于rss提要,只包括最近创建的帖子(例如,3天前)?

如果没有post,则让提要为空。我只想在rss提要中显示最近的帖子。

1 个回复
SO网友:Fayaz

正在删除lastBuildDate:

lastBuildDate 不应从rss源中删除,这可能会导致rss feed validation error/warning.

但是,可以使用get_lastpostmodified 过滤器挂钩。

筛选提要内容列表:

筛选规则feed 内容列表与WordPress中过滤任何内容列表的规则相同,唯一的区别是您必须使用WP_Query::is_feed 检查

所以在大多数情况下,您必须使用WP_Query 陪同人员pre_get_posts 然后在自定义插件或主题的functions.php 文件

此外,要筛选日期,您可以使用date_query.

示例代码:

下面的代码只列出了3 days before now 并提供一个选项来修改lastBuildDate (正如你在问题中所问的那样)。

function wpse334869_lastBuildDate( $lastpostmodified ) {
    // if you need, modify the $lastpostmodified here, before returning it
    return $lastpostmodified;   
}

function wpse334869_filter_feed( $query ) {
    if( $query->is_feed() ) {
        add_filter( \'get_lastpostmodified\', \'wpse334869_lastBuildDate\');
        $query->set( \'date_query\', array(
            array(
                \'after\' => \'3 days ago\'
            )
        ) );
    }
}
add_action( \'pre_get_posts\', \'wpse334869_filter_feed\' );
Note: 这只是一个示例概念代码,所以请确保在现场使用之前对其进行测试。

进一步阅读:

  1. Customizing Feeds.
  2. Acceptable Date Strings.

相关推荐

Posts feed number of posts

祝大家节日快乐!我希望你能帮我解决这个“小”问题:)我正在使用基于Elara 它以不同的格式在首页和归档页上显示帖子提要。主要区别在于,在首页上,该设计最适合8篇文章,而在存档页上,它最适合导航前的10篇文章。但是,没有指定不同限制的选项。据我所知,饲料是由以下因素控制的:<?php /** * The loop / blog feed * * @package elara */ ?> <div id=\"blog