仅禁用单个评论提要,这是mor7ifer答案的另一个版本only 禁用每篇帖子的评论源,而不是站点范围的评论源(通过检查is_single()
在执行之前wp_die()
).
它还使用410
error code which means GONE
而且似乎适合这个用例(至少对我来说,这些URL已经存在并被索引,我想明确地告诉谷歌和朋友们停止索引)。
function wpse45941_disable_feed( $comments ) {
if( $comments and is_single() ) {
wp_die( \'Feeds for comments on single posts have been disabled.\', 410 );
}
}
add_action(\'do_feed\', \'wpse45941_disable_feed\',1 );
add_action(\'do_feed_rdf\', \'wpse45941_disable_feed\',1 );
add_action(\'do_feed_rss\', \'wpse45941_disable_feed\',1 );
add_action(\'do_feed_rss2\', \'wpse45941_disable_feed\',1 );
add_action(\'do_feed_atom\', \'wpse45941_disable_feed\',1 );
禁用所有注释提要410
HTTP状态,但它也将禁用站点范围的注释提要(并显示适当的消息):
function wpse45941_disable_feed( $comments ) {
if( $comments ) {
wp_die( \'Feeds for comments have been disabled.\', 410 );
}
}
add_action(\'do_feed\', \'wpse45941_disable_feed\',1 );
add_action(\'do_feed_rdf\', \'wpse45941_disable_feed\',1 );
add_action(\'do_feed_rss\', \'wpse45941_disable_feed\',1 );
add_action(\'do_feed_rss2\', \'wpse45941_disable_feed\',1 );
add_action(\'do_feed_atom\', \'wpse45941_disable_feed\',1 );
注意:这并不能修复<item>
对于普通RSS提要中的每个帖子,在进一步检查时,我在验证我的站点的主(帖子)RSS提要时发现以下错误:
WP似乎仍在将comments RSS标记插入提要中,但由于该提要被禁用,因此会生成一个错误。
RSS仍然有效,但我正在寻找一种解决方案来摆脱它。This Core Trac issue is relevant