很多用wordpress建站的朋友都会遇到feed页面被百度收录的情况,但是feed里面的内容对于用户来说是无用的, 今天教搭建如何去除wp的feed页面: 方法一:在使用的主题配置文件里添加以下代码: function wpmee_disable_feed() { wp_die(__('<h1>Feed已经关闭, 请访问网站<a href="'.get_bloginfo('url').'">首页</a>!</h1>')); } add_action('do_feed', 'digwp_disable_feed', 1); add_action('do_feed_rdf', 'digwp_disable_feed', 1); add_action('do_feed_rss', 'digwp_disable_feed', 1); add_action('do_feed_rss2', 'digwp_disable_feed', 1); add_action('do_feed_atom', 'digwp_disable_feed', 1); 方法二:
如何才能彻彻底底地禁用WordPress的feed功能,连渣都不剩呢?我们可以使用下面的代码:// 删除 wp_head 输入到模板中的feed地址链接
add_action( 'wp_head', 'wpse33072_wp_head', 1 );
function wpse33072_wp_head() {undefined
remove_action( 'wp_head', 'feed_links', 2 );
remove_action( 'wp_head', 'feed_links_extra', 3 );
}
foreach( array( 'rdf', 'rss', 'rss2', 'atom' ) as $feed ) {undefined
add_action( 'do_feed_' . $feed, 'wpse33072_remove_feeds', 1 );
}
unset( $feed );
// 当执行 do_feed action 时重定向到首页
function wpse33072_remove_feeds() {undefined
wp_redirect( home_url(), 302 );
exit();
}
// 删除feed的重定向规则
add_action( 'init', 'wpse33072_kill_feed_endpoint', 99 );
function wpse33072_kill_feed_endpoint() {undefined
global $wp_rewrite;
$wp_rewrite->feeds = array();
// 运行一次后,记得删除下面的代码
flush_rewrite_rules();
}
将以上php代码放入当前主题的functions.php中,然后登陆进入WordPress后台,随便打开一个页面,然后回来在主题的functions.php中将:flush_rewrite_rules(); 这行代码删除即可。