怎么删除feed php,怎样关闭或删除WordPress程序默认的RSS feed功能

摘要:WordPress feed功能可以进行RSS阅读器订阅,让读者实时接收博客的更新内容。但rss在国内及当前的访客中并不...

WordPress feed功能可以进行RSS阅读器订阅,让读者实时接收博客的更新内容。但rss在国内及当前的访客中并不普及,而且会有机器人来采集复制你的文章feed,造成不必要的资源消耗。

关闭wordpress feed的方式很多,如在WordPress后台 – 设置 – 阅读中设置,只输出文章摘要不输出全文。

不想开放wordpress博客的feed功能,该怎么设置呢?

.

我们可以直接在主题的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);

1

2

3

4

5

6

7

8

functiondisable_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地址时feed地址仍然存在,而不是打开这个链接直接显示404。会直接显示设置的错误信息。

如何彻底移除并关闭WordPress的RSS feed代码版

如何才能彻底地禁用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();

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

// 删除 wp_head 输入到模板中的feed地址链接

add_action('wp_head','wpse33072_wp_head',1);

functionwpse33072_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 时重定向到首页

functionwpse33072_remove_feeds(){

wp_redirect(home_url(),302);

exit();

}

// 删除feed的重定向规则

add_action('init','wpse33072_kill_feed_endpoint',99);

functionwpse33072_kill_feed_endpoint(){

global$wp_rewrite;

$wp_rewrite->feeds=array();

// 运行一次后,记得删除下面的代码

flush_rewrite_rules();

}

将以上函数代码放入当前主题的functions.php中即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值