在我们一些开发中,偶尔发现我们的feed首页出现了重复标题的现象,有的是<title>blogname.blogname</title>,有的是其他形式,但总之不是我们所希望的。下图是我的博客中发生的现象:
引起这一现象的原因,大部分是由于使用了一些SEO插件或相关的主题功能,例如我的这个问题就是由于使用了本人开发的“超级插件”引起的。
我们从内在机制来剖析这个问题,在rss的<title>部分,其实仍然是使用的wp_title机制,只不过,在is_feed=true的情况下,feed和真实的页面产生了对应关系。我们可以使用下面的方法来修正这个问题。
add_filter('wp_title_rss','__return_false');
wp_title_rss钩子可以处理rss输出的页面标题。同时,我们其实还有一个函数:bloginfo_rss('name')也可以在这个问题中发挥作用,看你面对的是什么问题,由于我的问题比较简单,使用上面这个代码即可解决。
如果你发现通过这种方法还不能实现,那么你可以暴力手段解决,在wp-includes/feed-rss.php和wp-includes/feed-rss2.php中的第一个<title>中,去掉bloginfo_rss('name');或wp_title_rss();其中之一,这个时候再测试。
最终,我发现,bloginfo_rss,wp_title_rss函数都是在wp-includes/feed.php中定义,如果你需要再深入的研究这个问题,可以去阅读它们的源码。
欢迎常来坐坐
最好不要有重复的
周六闲来无事,过来逛逛,有新发现奥!