如何从RSS提要中删除发布日期

时间:2016-07-07 作者:Richard S.

我从主题中删除了日期,因为我的所有内容都是常青树。网站上的访问者或搜索引擎爬虫看不到日期。

但人们仍然可以通过<pubDate></pubDate> 线有没有办法从我的订阅源中删除此内容?理想情况下,通过一个钩子或过滤器,我可以添加到我的函数中。php文件,以保持此更改主题特定。

1 个回复
SO网友:birgire

请注意,如果删除<pubDate> 从rss2订阅源中添加标签,然后它将变为无效。

所以你不想那么做!

如果为空:

<pubDate></pubDate> 
那么提要仍将不会验证:

> pubDate must be an RFC-822 date-time
所以这也不是一个选择。

如果您希望所有项目都是静态的,那么您可以使用,例如:

add_filter( \'get_post_time\', \'wpse_static_rss2_feed_time\', 10, 3 ); 

function wpse_static_rss2_feed_time( $time, $d, $gmt )
{
    if( did_action( \'rss2_head\' ) )
        $time = \'Thu, 01 Jan 1970 00:00:00 +0000\';
    return $time;
}
您可以根据需要修改静态值。

类似的操作也可以用于atom提要。

注意,atom提要也有<updated> 从中获取其值的标记get_post_modified_time():

下面是一个示例:

add_filter( \'get_post_time\',          \'wpse_static_atom_feed_time\', 10, 3 ); 
add_filter( \'get_post_modified_time\', \'wpse_static_atom_feed_time\', 10, 3 ); 

function wpse_static_atom_feed_time( $time, $d, $gmt )
{
    if( did_action( \'atom_head\' ) )
        $time = \'1970-01-01T00:00:00Z\';
    return $time;
}
还要注意不同的时间格式。