在WordPress Rest API结果中更改内容URL的最佳方法是什么?

时间:2019-02-13 16:29:00

标签: php wordpress rest api

说我有api.wordpresssite.com,我将在其中输入数据,上传图像等。然后看到我想在另一个站点上使用WordPress API,例如mysite.com。

然后WordPress将假定内容中的每个链接都是api.wordpresssite.com。由于链接和媒体是绝对的,它还将嵌入具有相同URL的图像。

我应该在mysite.com上处理内容以查找链接但忽略媒体,还是可以将其添加到主题中以实现此目的的插件或功能?

我尝试更改基本URL,虽然它适用于链接,但会中断媒体上传。

有多个端点,所以我认为即使有要添加的功能,执行任何操作也将太过遥远。

例如,有我正在使用的WP API,JetPack和Yoast。

关于“如何在Laravel中使用WordPress”的文章很多,但没有一篇文章讨论过如何对使用它的网站的内容进行“规范化”。

该API感觉像是开箱即用的唯一真实用法是与某种基于Javascript的前端一起使用。

我想要的是一个无头WordPress API,具有用于内容链接的相对URL。

2 个答案:

答案 0 :(得分:1)

我一直在寻找相同的答案并以这种方式解决:

您需要做的是将站点 URL 设置为 www.remote-domain.com。 您可以通过转到 WP Admin > Settings > General

来执行此操作

Screenshot

然后在您的functions.php文件或您可以添加过滤器(插件等)的地方添加此过滤器。

add_filter( 'rest_url', 'fix_rest_url');
 
function fix_rest_url( $url ) {
    return $url;
}

得到答案:https://core.trac.wordpress.org/ticket/49146

答案 1 :(得分:0)

我怀疑没有人真正使用WordPress API似乎得到了证实。主要在外部站点上。

我必须创建一些渲染方法来查找HREF链接,并将它们重新映射到内容和菜单上。

它似乎仍然很愚蠢,不是很精致。