RSS项目可以用钩子更改吗?

时间:2015-09-22 作者:Andrew

我想用正则表达式更改站点RSS提要中每个项目的内容。

这个rss2_item 钩子已关闭,但它是在项目输出后立即运行的,因此只有在向提要项目添加数据时才真正有用,我需要在输出前用正则表达式更改项目。

有没有办法用add_action 还是我需要创建一个全新的rss.php 源文件?

1 个回复
最合适的回答,由SO网友:Andrew 整理而成

the_content_feed 是我需要的钩子。在我的例子中,我运行一个正则表达式来将相对URL替换为绝对URL,因此我将以下代码添加到functions.php

add_action(\'the_content_feed\', \'relative_to_absolute_links\');
function relative_to_absolute_links($content) {
    return preg_replace("/(src=[\'\\"]){1}\\/{1}([^\\/][^\'\\"]+)([\'\\"])/im", "$1" . get_site_url() . "/$2$3", $content);
}

相关推荐

使用帖子标题搜索WP API

我正在使用WP REST API v2尝试搜索具有相同标题的所有帖子,我尝试的是为两个团队创建一种“面对面/以前的会议”页面。目前我可以用一个弹头收回一个帖子,没问题.../wp-json/sportspress/v2/events?slug=team1-vs-team2 当我使用搜索时,它会检索team1和team2的所有事件,以及对team1的所有引用;2来自帖子内容,这不是我想要的。。。.../wp-json/sportspress/v2/events?search=team1+team2