彻底移除并关闭WordPress的RSS feed
作者:小朱笔记
发布日期:2020年4月19日
摘要:简单搜索了一下,发现网上都是下面这个方法,直接在主题的functions.php中加入下面的代码 functi […]

简单搜索了一下,发现网上都是下面这个方法,直接在主题的functions.php中加入下面的代码

function disable_all_feeds() {
   wp_die( '本站不提供feed' );
}
add_action('do_feed', 'disable_all_feeds', 1);
add_action('do_feed_rdf', 'disable_all_feeds', 1);
add_action('do_feed_rss', 'disable_all_feeds', 1);
add_action('do_feed_rss2', 'disable_all_feeds', 1);
add_action('do_feed_atom', 'disable_all_feeds', 1);

这种方法实现的效果是,当你打开博客的feed地址(如https://www.zhudc.com/feed)时,页面会直接显示设置的错误信息,feed代码已经被删除,也就是说这个feed地址仍然存在,而不是打开这个链接直接显示404。

代码版

如何才能彻彻底底地禁用WordPress的feed功能,连渣都不剩呢?我们可以使用下面的代码:

// 删除 wp_head 输入到模板中的feed地址链接
add_action( 'wp_head', 'wpse33072_wp_head', 1 );
function wpse33072_wp_head() {
    remove_action( 'wp_head', 'feed_links', 2 );
    remove_action( 'wp_head', 'feed_links_extra', 3 );
}

foreach( array( 'rdf', 'rss', 'rss2', 'atom' ) as $feed ) {
    add_action( 'do_feed_' . $feed, 'wpse33072_remove_feeds', 1 );
}
unset( $feed );

// 当执行 do_feed action 时重定向到首页
function wpse33072_remove_feeds() {
    wp_redirect( home_url(), 302 );
    exit();
}

// 删除feed的重定向规则
add_action( 'init', 'wpse33072_kill_feed_endpoint', 99 );

function wpse33072_kill_feed_endpoint() {
    global $wp_rewrite;
    $wp_rewrite->feeds = array();
    
    // 运行一次后,记得删除下面的代码
    flush_rewrite_rules();
}

将以上php代码放入当前主题的functions.php中,然后登陆进入WordPress后台,随便打开一个页面,然后回来在主题的functions.php中将:flush_rewrite_rules(); 这行代码删除即可。

相关文章

WordPress设置后台中文,网站前台英文

新手刚使用Wordpress建站,特别是这几年外贸建站特别多,直接安装Wordpress英文版后,对后台完全不熟悉,看不太懂难操作,建议切换成后台中文,前台还是显示英文。 WordPress如何实现后台中文前台英文(非插件版): 1、先设置网站默认语言为英文,设置——常规——站点语言(这个时候整个网站语言为英文)...

WordPress侧边添加Whatsapp,skype,QQ社交等浮动菜单

使用Wordpress建站,想让客户更方便联系我们,想在网站侧边加上一些联系方式,比如:QQ,微信,外贸站:Whatsapp,skype等。另外还想添加一些社交平台facebook,twitter,instagram等平台。 安装Float menu – awesome floating side...

Contact form 7表单css样式代码

Contact Form 7是Wordpress插件,不需要多做介绍,作为询盘表单插件,全球使用人数最多。虽然功能强大,但是外观太丑,需要手写CSS。 虽然CSS我也不是很会,通过谷歌查找教程,也学了些基本,把表单基本上改改还是能看,最起码比没改好吧。 没加CSS之前: 加了CSS之后: 虽然改的不是很好,起码还是能稍微看一下。...

使用WP-CLI命令管理 WordPress

WP-CLI 是一款用于管理 WordPress 的命令行交互界面,无需浏览器即可完成插件更新,可以数据库备份创建、插件和主题的安装和删除、发布和删除帖子、更改站点的URL设置、执行升级、可以生成备份、可以发布新帖子、多站点设置、并且可以使用一组命令来执行大多数常规管理操作。...

评论

0条评论

递交一条评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

欢迎来到我的博客!

好记性不如烂笔头

为什么要写博客?

记性不好。

本站所有内容都是我在工作中所遇到的问题,通过搜索引擎查到资料,有自己原创经验分享,有收集来的,记录并分享,方便自己以后查阅。

主要:建站资料,网络推广,服务器,软件分享,办公软件操作,阿里巴巴国际站,国外社交平台,各类工具等等。

我的收藏,希望对你有帮助。

收藏本站(Ctrl+d)加入收藏