A faster load_textdomain
·
A faster load_textdomain
注意事項:如果網站執行 WordPress 6.5 或更新版本,由於相關功能已內建至 WordPress 核心程式中,因此不需要安裝這個外掛。如果網站需要使用新的
.l10n.php格式產生語言套件,請改用 Performant Translations 外掛。
這個 WordPress 外掛能將 .mo 檔案快取為 PHP 陣列,並以 include 運算式處理過的陣列取代 .mo 檔案。在 PHP 環境中,載入及執行另一個 PHP 檔案理論上會最為快速。
外掛運作方式
如果網站上有會載入 textdomain 的外掛或佈景主題,例如使用 load_textdomain( 'textdomain', $path_to_mo_file ),這個外掛便會產生以下效果:
- 在
WP_CONTENT_DIR . '/cache/a-faster-load-textdomain'目錄中查詢 .mo 檔案的 PHP 版本。 - 如果 PHP 版本資訊存在,便以 include 運算式處理 .mo 檔案。
- 如果 PHP 版本資訊不存在,載入 .mo 檔案並將檔案儲存為
wp-content/cache/a-faster-load-textdomain/目錄中的 PHP 陣列。
包含本地化介面字串的 PHP 陣列可以透過 PHP OPcache 進行快取。如果網站伺服器上的 PHP OPcache 已啟用,包含本地化介面字串的 PHP 陣列便會快取在伺服器記憶體中,不需再對 PHP 檔案進行剖析。
篩選器
a_faster_load_textdomain_cache_path
變更快取路徑前,請先了解預設路徑為 WP_CONTENT_DIR . '/cache/a-faster-load-textdomain'。
add_filter( 'a_faster_load_textdomain_cache_path', function( $path ) {
return WP_CONTENT_DIR . '/cache/my-cache';
} );
GitHub
這個外掛在 GitHub 存放庫提供原始程式碼。