如何显示从另一个wordpress网站到我的wordpress网站的帖子?

时间:2018-12-02 13:51:15

标签: wordpress custom-post-type

我有2个wordpress博客网站。一个站点具有自定义帖子类型。我想将这种自定义帖子类型的内容显示到另一个wordpress网站吗?

该怎么做?

2 个答案:

答案 0 :(得分:0)

在具有CPT的网站上,请确保CPT暴露于REST API(您可以在CPT代码中进行此操作),然后使用REST API将其拉入您的其他网站https://developer.wordpress.org/rest-api/

答案 1 :(得分:0)

Ashley Brown的回答在技术上是正确的,但对于您的问题(非常简单),由于该文档描述了通常更为复杂的REST API访问,因此该文档会有些混乱。幸运的是,您的案例非常简单,只需很少的代码。

首先,WordPress REST API将返回“渲染的”帖子内容。此“渲染的”帖子内容是对帖子内容应用过滤器“ the_content”的结果。特别是,它可能包含CSS选择器。外部站点还加载CPT使用的本机站点的CSS文件,这一点很重要。这可能意味着,如果CPT来自某个插件并且该插件加载了CSS文件,则可能需要将该插件安装在外部站点上。

第二,使用浏览器从本机站点检索带有REST API的URL。例如,尝试以下操作:

http://localhost/wp-json/wp/v2/posts/1

这将返回带有字段content.rendered的JSON,其在上面的URL中如下所示:

<p>line first&#8230;</p>\n<p>&nbsp;</p>\n<p>AAA return &#8216;hello&#8217; . &#8216; &#8216; . &#8216;world&#8217;; ZZZ</p>\n<p>&nbsp;</p>\n<p>line last&#8230;</p>\n

这只是原始HTML。

因此,您可以使用AJAX请求来检索JSON对象并从该对象中提取content.rendered字段。然后使用jQuery.append()(或类似方法)将HTML插入DOM。

还必须启用CPT才能进行REST访问。有关如何操作的信息,请参见我的post

附录

在我看来,有人会为这种基本功能编写一个插件。我找到了这个REST API Post Embeds。我对该插件一无所知,也许还有其他更好的插件,但是此功能是如此基础且易于实施,因此必须有一个插件可以完成此任务。