使用REST API以异步方式显示来自其他站点的帖子

时间:2017-10-27 作者:Rahul Verma

我有两个WordPress网站-Alpha和Beta。我在Alpha站点上有3个部分,它们使用WordPress Rest API显示Beta站点的内容:

第1节显示测试版网站的最新帖子现在,我正在使用wp\\u remote\\u get对Beta站点进行REST API调用。由于PHP是一种顺序语言,页面加载会暂停几秒钟,因为它会等待所有API调用完成后再继续。

我通过在Alpha上使用WordPress瞬态来缓存从Beta站点获得的数据,从而绕过了这个问题。但是,当瞬态过期时,页面加载停止的事情在第一次页面加载时再次发生。

我希望从Beta站点异步加载Alpha站点上的帖子。我曾尝试使用AJAX来实现它,但我不知道如何实现。

编辑:我有一个PHP函数,可以为帖子部分呈现HTML。我试图弄清楚如何使用jQuery/Ajax从Beta站点获取数据,并将我的PHP函数传递给它,以便它能够呈现数据。

2 个回复
最合适的回答,由SO网友:HU ist Sebastian 整理而成

步骤1:学习如何使用AJAX in Wordpress Plugins/Themes. 诀窍在于,您的Javascript不会从测试版站点获取内容,您的Javascript会调用您编写的PHP函数来获取内容。

第2步:继续使用瞬态。如果存在瞬态,请检查Ajax回调。如果有,请退回。如果没有,请使用wp\\u remote\\u get从Beta站点获取内容,将其保存到transient,然后将其返回到Ajax函数。

步骤3:将对AJAX函数的调用放入文档中。就绪功能。

步骤4:利润;)

SO网友:Rarst

你在这里解决问题的错误部分。将netwrok请求转移到JavaScript/客户端只会使每次加载都发生。这会使性能问题变得更糟,而不是更好。尽管延迟将以不同的方式呈现。

您真正想要在这里实现的是瞬态的异步刷新。当数据过期时,应独立于查看页面的用户检索和更新数据。

有一个伟大的TLC Transients 在本机WP瞬态的基础上,提供的库可以做到这一点。

结束

相关推荐

数据已插入数据库,但AJAX调用错误函数

我是wordpress的新手,在提交表单时遇到ajax问题。表单被很好地提交,数据被插入到表中,但ajax正在调用一个错误函数。这是我的表格<form action=\"#\" method=\"post\" id=\"order-form\" novalidate> <label for=\"name\"><?php echo __(\'Ime i prezime\', \'mojaobuca\'); ?></label&