問題描述
我剛剛用 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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。