我正在尝试删除feed-rss2.php中显示的the_guid()
函数。我试过remove_action('rss2_item', 'the_guid')
或remove_filter
但没有任何反应。我也尝试了不同的钩子,如the_content_rss
......
该功能显示在feed-rss2.php的第43行,由<item></item>
括起。
更新
使用echo current_filter()
,我发现钩子是do_feed_rss2
。但我仍然无法删除该功能。
答案 0 :(得分:1)
您可以通过过滤器覆盖该功能的输出。
add_filter('get_the_guid','my_get_the_guid');
function my_get_the_guid($guid) {
$my_guid = 'foo';
return $my_guid;
}
使用它可以用你想要的任何东西覆盖GUID输出。您无法删除RSS输出中的节点,但可以控制其内容。如果要一起删除节点,可以创建自己的XML模板,将其保留在主题上,然后使用template_redirect操作强制加载模板而不是默认模板。
希望有所帮助!
答案 1 :(得分:1)
Feed Wrangler插件非常适合自定义Feed:
http://wordpress.org/extend/plugins/feed-wrangler/
基本上,安装插件,用slug表示一个feed(例如: no-guid ),然后将 feed-no-guid.php 文件添加到你的主题。您可以使用wp-includes/
中的默认Feed文件作为基础,删除或添加您想要的任何项目。这样,您可以完全控制Feed,并在将来获得明确的升级路径。
答案 2 :(得分:0)
看起来像/wp-includes/feed-rss2.php中的第40行:
<guid isPermaLink="false"><?php the_guid(); ?></guid>
尝试删除它,看看会发生什么;它是文件中唯一对the_guid的引用