问题描述
我刚刚用 WordPress 碰到了我的第一个严重问题,对于喜欢 Ajax 的人来说,这是一个很大的事情。
我有一个 Ajax 请求,使用 Ajax API 需要 1.5 秒才能完成。
如果我使用相同的确切代码并使用自定义脚本 (无 WordPress) 运行,则 Ajax 请求只需要 150 毫秒。这不是夸张
如果您看看 http://wp.smashingmagazine.com/2011/10/18/how-to-use-ajax-in-wordpress/的第一个评论,并且跟随您的对话,您将看到这种缓慢性是由于您的请求,所有的 WP 加载…
我希望有一个解决方案,这将有可能在不加载所有 WordPress 的情况下制作 Ajax 请求。
使用 WordPress 加快 Ajax 请求的体验是什么?
最佳解决方案
是的,这是一个令人讨厌的问题,要拥有完整的 WordPress 环境,你需要花费相当多的时间加载它。
我需要更好的性能 (对于非常动态的增量搜索功能) 的工作,我所做的是:
- 自定义文件作为 Ajax 处理程序。
- SHORTINIT constant 用于有限的 WP 核心负载。
- 非常有选择地加载部分的核心,只有那些需要的任务。
这提供非常有限的环境,但性能是更好和合理的与 WP 兼容程度 (从 $wpdb
开始) 的方式。
这是启动我的装载机文件,不漂亮,但适用于特定需要:
<?php
ini_set('html_errors', 0);
define('SHORTINIT', true);
require '../../../../wp-load.php';
require( ABSPATH . WPINC . '/formatting.php' );
require( ABSPATH . WPINC . '/meta.php' );
require( ABSPATH . WPINC . '/post.php' );
wp_plugin_directory_constants();
// stuff goes here
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。