soerlind / a-faster-load-textdomain
更快的 load_textdomain
Requires (Dev)
README
注意 如果您正在运行 WordPress 6.5 或更高版本,则不需要此插件,因为该功能已被集成到 WordPress 核心中。[了解更多](https://make.wordpress.org/core/2024/02/27/i18n-improvements-6-5-performant-translations/)。如果您需要以新的
.l10n.php
格式生成翻译,请使用 Performant Translations 插件。
这是一个 WordPress 插件,它将 .mo 文件缓存为 PHP 数组,并包含数组而不是 .mo 文件。在 PHP 中,理论上没有比加载和执行另一个 PHP 文件更快的方法。
安装
方法(推荐)
- 下载插件文件,并将
a-faster-load-textdomain.php
和class-afld-cachehandler.php
解压缩到wp-content/mu-plugins
目录。
或者
- 搜索 "A faster load_textdomain",并使用 WordPress 插件安装程序进行安装。
- 通过 WordPress 中的“插件”菜单激活插件。
也可以通过 Composer 安装插件: composer require soderlind/a-faster-load-textdomain
工作原理
如果您有一个加载文本域的插件或主题,例如 load_textdomain( 'textdomain', $path_to_mo_file )
,则此插件将
- 在
WP_CONTENT_DIR . '/cache/a-faster-load-textdomain'
目录中查找 .mo 文件的 PHP 版本。 - 如果存在 PHP 版本,则包含该文件。
- 如果不存在 PHP 版本,则加载 .mo 文件,并将其作为 PHP 数组保存在
wp-content/cache/a-faster-load-textdomain/
目录中。
本地化的 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'; } );
变更日志
查看 CHANGELOG.md。
鸣谢
原始文件:https://github.com/lynt-smitka/WP-nginx-config/blob/master/extras/mu-plugins/lynt-mo-cache.php
版权和许可证
本插件版权所有 © 2023 Per Soderlind。
本插件是免费软件;您可以在自由软件基金会发布的 GNU 通用公共许可证的条款下重新分发和/或修改它,许可证版本为 2。
分发此程序是为了希望它有用,但没有任何保证;甚至没有适销性或特定用途的隐含保证。有关更多信息,请参阅LICENSE。