我有两个WordPress网站-阿尔法和贝塔。我在Alpha站点上有3个部分使用WordPress Rest显示来自Beta站点的内容:
现在,我正在使用wp_remote_get对Beta站点进行REST调用。因为PHP是一种顺序语言,所以页面加载会停止几秒钟,因为它等待所有API调用完成才能向前推进。
我能够通过在Alpha上使用WordPress瞬态缓存从Beta站点获得的数据来解决这个问题。但是,当过渡结束时,页面加载停止的事情再次发生在第一个页面加载。
我想要加载文章从Beta网站上的阿尔法网站异步。我试图使用AJAX来完成这个任务,但是我想不出是如何做到的。
编辑:我有PHP函数,为post部分呈现HTML。我试图弄清楚如何使用jQuery/Ajax从Beta站点获取数据,并将其传递给我的PHP函数,以便它能够呈现数据。
发布于 2017-10-30 10:54:16
步骤1:学习如何使用Wordpress插件/主题中的AJAX。诀窍是你的Javascript没有从Beta站点上获得内容,你的Javascript调用了一个PHP函数,它本身就是你编写的。
第二步:继续使用瞬变。检查Ajax回调中是否存在临时调用。如果有的话,把它还回去。如果没有,使用wp_remote_get从Beta站点获取内容,将其保存到临时状态,然后将其返回到Ajax函数。
步骤3:将对AJAX-函数的调用放到document.ready函数中。
第四步:利润;)
发布于 2017-10-30 10:42:33
你在这里解决了问题的错误部分。将netwrok请求转移到JavaScript/客户端只会使它在每次加载时都发生。这使得性能问题更糟,而不是更好。尽管延迟会以一种不同的方式出现。
您真正想要在这里实现的是瞬态异步刷新。当数据过期时,应该独立于用户查看页面来检索和更新数据。
在本机WP瞬态的基础上,有一个很好的薄层瞬态库可以做到这一点。
https://wordpress.stackexchange.com/questions/284156
复制相似问题