WordPress REST API 响应慢如何解决
我对 WordPress REST API 的速度有疑问。 我想要做的是尽可能快地为一份报告获取大约 26k 条记录的数据,以便为用户提供流畅的用户体验。 我遇到的问题是,当 REST API 被调用时,WordPress 似乎加载了核心、插件和主题。
我已经用完了我所知道的优化代码的方法,是否有任何人知道可以提高速度的 WordPress 调整? 对于使用 REST API 的人来说,这些结果是否正常? 正如您所看到的,运行我的代码的时间不是问题,而是 WordPress 的开销。
解决方案
概述:所以问题是 WordPress 4.8 版的限制。 WordPress 旨在为每个 REST API 请求加载插件和主题及其所有核心。 这是响应时间缓慢的原因。
解决方案:当前唯一的解决方案是对插件中的文件进行 ajax 调用,并且仅加载 WordPress 核心的一部分。 下面的代码是直接文件访问,同时仍然能够以快速响应时间使用 WordPress 功能。
//Tell WordPress to only load the basics
define('SHORTINIT',1);
//get path of wp-load.php and load it
require_once $_SERVER['DOCUMENT_ROOT'] . '/wp-load.php';
// register global database
global $wpdb;
// return data selected from DB to user
结果:响应时间降至 100 毫秒。 这是1069ms 到 108ms的巨大差异。
最后说明:Wordpress REST API 非常新,功能非常强大,您应该在响应时间不成问题的大多数情况下使用。
如果响应时间对您的应用程序至关重要,并且您不介意花费时间和精力,我建议您创建自己的入口点来检索您需要的数据。
我刚刚找到了这个插件-> https://wordpress.org/plugins/wp-rest-cache/
这是一个非常省时的插件,并在我们的实时网站上进行了测试。
结果:平均响应耗时从1200ms降到50ms。
你可能还喜欢下面这些文章
s'));}add_action('wp_login','user_last_login');//。get_last_login($userdata->ID);。
即,查询一堆帖子(例如一个有很多帖子的页面),将它们的所有数据发送到您的。调用的异步性质允许在调用开始和完成之间进行处理,或者可能是因为我没有做了足够多的工作可以看到很大的不同,但是线程版本允许我的页面加载器在加载数据时不会冻结,所以我想这是
href='//s.w.org'>WordPress在头部添加dns-prefetch,应该是为了从s.w.org预获取表情和头像,目的是提高网页加载速度。
phpquery_posts('showposts=10&orderby=new');。phpquery_posts('showposts=10&orderby=rand');。></a></li>
underline">'wp_more',</SPAN></STRONG></SPAN>。underline">'wp_more','wp_page',</SPAN></STR
短代码的用途很多,常见的场景有利用短代码来实现某一部分内容的特殊效果,或者在文章中插入自定义的一些特殊样式内容,或者隐藏某些内容等。首先在主题或者插件内定义一个短代码名称以及短代码所要输出的内容写文章的时候,输入将会出现Hello,。
使用教程在核心文章管理中,点击添加文章,即可将普通文章变成一篇核心文章。您可以在这里直接修改文章属性,改成核心文章或者取消核心文章,如下图:这款插件单独使用您只能看核心文章,威力可能并不是那么大。
文件:add_filter('widget_text',。php_text($text)。$text;}之后,可以将一个文本小工具添加到侧边栏中,并在其中输入PHP函数代码,看看是不是可以正常运行了。