古腾堡编辑器加载缓慢的原因
WordPress 古腾堡编辑器(Gutenberg Editor)是自 WordPress 5.0 起内置的默认编辑器。部分用户反馈其加载速度较慢,其中一个主要原因是编辑器会加载来自 Google Fonts 的字体样式表(CSS),这可能会因网络环境而影响加载速度。
解决方案:禁用 Google 字体加载
通过向当前使用的 WordPress 主题的 functions.php 文件中添加一小段代码,即可阻止古腾堡编辑器加载 Google 字体,从而可能提升后台编辑器的响应速度。
操作步骤
- 登录 WordPress 后台,进入「外观」→「主题文件编辑器」。
- 在右侧文件列表中找到并点击「主题函数文件 (functions.php)」。
- 将以下代码片段添加至文件末尾。
- 点击「更新文件」保存更改。
代码实现
将以下 PHP 代码添加到主题的 functions.php 文件中:
/**
* 禁用古腾堡编辑器加载 Google 字体
*
* @param string $translation 翻译文本。
* @param string $text 要翻译的文本。
* @param string $context 文本上下文。
* @param string $domain 文本域。
* @return string 修改后的翻译或‘off’以禁用字体。
*/
function disable_gutenberg_google_fonts( $translation, $text, $context, $domain ) {
// 针对古腾堡尝试加载特定 Google 字体的上下文进行拦截
if ( $context !== 'Google Font Name and Variants' || $text !== 'Noto Serif:400,400i,700,700i' ) {
return $translation;
}
// 返回 'off' 以告知系统不加载此字体
return 'off';
}
add_filter( 'gettext_with_context', 'disable_gutenberg_google_fonts', 10, 4 );
代码说明与注意事项
- 原理:此代码通过 WordPress 的
gettext_with_context过滤器,在古腾堡编辑器尝试加载特定的 “Noto Serif” Google 字体时,将返回值替换为 “off”,从而阻止其加载。 - 适用范围:此方法主要针对古腾堡编辑器初始版本中硬编码的字体加载。随着 WordPress 核心更新,加载机制可能发生变化。
- 更通用的方法(推荐):如果上述代码无效,或您希望完全禁止前端和后端的 Google 字体,可以考虑使用以下更全面的代码片段,它通过移除相关的样式队列来实现:
/** * 从古腾堡编辑器中移除 Google 字体样式 */ function remove_gutenberg_google_fonts() { wp_dequeue_style( 'wp-editor-font' ); // 注意:样式句柄可能随版本变化 } add_action( 'enqueue_block_editor_assets', 'remove_gutenberg_google_fonts', 100 ); - 重要提示:在修改主题文件前,请务必创建子主题并在子主题中进行更改,或使用“代码片段”类插件添加代码。直接修改父主题文件会在主题更新时丢失所有更改。
- 测试:添加代码后,清除网站和浏览器缓存,然后重新加载文章编辑页面,检查编辑器加载速度是否有所改善。
总结
禁用非必要的远程资源(如 Google 字体)是优化 WordPress 后台性能的有效手段之一。本文提供的方法主要针对古腾堡编辑器历史版本中的一个特定优化点。对于更高版本的 WordPress,建议关注官方更新日志,并考虑使用性能优化插件进行更全面的资源管理。