admin管理员组文章数量:1332395
I'd like to customize my WordPress blog in such a way that it is no more possible to access the comments feed.
Other feeds should still be available, and it should still be possible to add comments to any article.
I tried to find a plugin to do this, but what I found is a all or nothing feature, without the possibility to finely adjust which feeds are allowed and which are not.
I'd like to customize my WordPress blog in such a way that it is no more possible to access the comments feed.
Other feeds should still be available, and it should still be possible to add comments to any article.
I tried to find a plugin to do this, but what I found is a all or nothing feature, without the possibility to finely adjust which feeds are allowed and which are not.
Share Improve this question asked Dec 11, 2013 at 20:40 JérômeJérôme 1551 gold badge1 silver badge6 bronze badges 3- Just want to add a reasoning for this: Having them enabled means that scrapers like Google/Bing/Yandex/etc. are constantly querying for both every article on my site (hundreds of thousands) AND their /feed/ URLs. This is a huge burden on the server and a huge waste of resources to serve these files which are almost ever relevant and unlikely to be used meaningfully but readers (who can subscribe by email if they want to). – jerclarke Commented Mar 5, 2020 at 16:45
- Related: wordpress.stackexchange/questions/56695/… – jerclarke Commented Mar 21, 2020 at 0:09
- Related: How to disable the comments feed entirely with wp_die(): wordpress.stackexchange/questions/45941/… – jerclarke Commented Mar 21, 2020 at 0:56
4 Answers
Reset to default 5function remove_comment_feeds( $for_comments ){
if( $for_comments ){
remove_action( 'do_feed_rss2', 'do_feed_rss2', 10, 1 );
remove_action( 'do_feed_atom', 'do_feed_atom', 10, 1 );
}
}
add_action( 'do_feed_rss2', 'remove_comment_feeds', 9, 1 );
add_action( 'do_feed_atom', 'remove_comment_feeds', 9, 1 );
As mentioned by @glueckpress, Since 4.4 you can use the feed_links_show_comments_feed
filter.
Example (in your theme functions.php file) :
add_action( 'after_setup_theme', 'head_cleanup' );
function head_cleanup(){
// Add default posts and comments RSS feed links to head.
add_theme_support( 'automatic-feed-links' );
// disable comments feed
add_filter( 'feed_links_show_comments_feed', '__return_false' );
}
@Shazzad’s approach seems to not work when current_theme_supports( 'automatic-feed-links' )
, because up to 4.3 WordPress seems to be pretty ego about feed links. You would have to remove_action( 'wp_head', 'feed_links', 2 )
hard and add your own function printing only the link for post feeds.
However, from 4.4 this seems to get easier with a brand-new filter: feed_links_show_posts_feed
.
I wanted to remove the comments feed and posts comments feed. As of Wordpress 5.4.2, this worked for me.
Add this into your "after_setup_theme" action.
add_theme_support('automatic-feed-links');
Add this right after that line:
add_filter( 'feed_links_show_comments_feed', '__return_false' );
After your "after_setup_theme action, add this function and filter ( I pulled this function from https://jeffvautin/2016/03/removing-comments-rss-feeds-from-wordpress/ blog.) It will removed the posts comments feed.
/**
* Remove the posts comments rss feed
*/
function disablePostCommentsFeedLink($for_comments) {
return;
}
add_filter('post_comments_feed_link','disablePostCommentsFeedLink');
I also add this to remove those non-essential feeds
/**
* remove non-essential rss feeds
*
* This removes feeds like tags, authors, search, post type
*/
remove_action( 'wp_head', 'feed_links_extra', 3 );
I believe this will just give me the main feed. I'm not sure if this is the best way of going about this, but seems to do the trick.
本文标签: Disable Comments Feedbut not the others
版权声明:本文标题:Disable comments feed, but not the others 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1742282147a2446291.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论