You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Loco Translate完成WordPress翻译后网站未生效,插件缺失load_theme_textdomain

解决WordPress插件翻译不生效的问题

嘿,我碰到过好几个类似的翻译不生效的情况,给你梳理几个关键排查点,应该能搞定你的问题:

1. 先确认插件有没有加载翻译的核心代码

你提到插件里没找到load_theme_textdomain——其实这个函数是给主题用的,插件要加载翻译得用load_plugin_textdomain才对!如果插件主文件里连这个函数都没有,那你生成的MO/PO文件再正确也白搭。

解决办法:打开插件的主文件(比如o2.php),在合适的位置(比如文件开头,或者插件初始化的钩子里)加上这段代码:

add_action( 'plugins_loaded', 'o2_load_translations' );
function o2_load_translations() {
    // 把o2换成插件实际的文本域,你可以在插件的pot文件里找到这个名称
    load_plugin_textdomain( 'o2', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
}

如果插件里没有languages目录,就手动新建一个,翻译文件要放在这里才行。

2. 核对翻译文件的命名和存放路径

  • 文件名必须严格匹配格式:{文本域}-{语言代码}.mo/.po,比如你站点是简体中文,那就是o2-zh_CN.mo和o2-zh_CN.po(注意是下划线,不是横杠)
  • 一定要把文件放在插件的languages目录里,别放错到主题目录或者WordPress全局语言目录了(除非你特意配置了,但默认插件优先加载自己目录的翻译)

3. 检查Loco Translate的保存设置

在Loco Translate编辑翻译的时候,记得:

  • 模板文件要选插件自带的.pot文件,如果没有,就让Loco从插件代码里自动提取生成一个
  • 保存位置选「插件语言目录」,别选主题或者自定义目录,不然插件找不到这些文件

4. 强制刷新翻译缓存

有时候WordPress会偷偷缓存翻译,光清浏览器缓存不够:

  • 去后台「设置」→「常规」,把站点语言随便改成另一种,保存后再改回你需要的语言,触发翻译重新加载
  • 或者用FTP删掉wp-content/languages/plugins里对应的插件翻译文件,让Loco重新生成一份

最后再提醒一句

主题的翻译函数和插件的是分开的,别搞混啦!插件必须用load_plugin_textdomain,这是很多小众插件容易漏掉的点,补上之后应该就能正常显示翻译了。


内容的提问来源于stack exchange,提问作者Stax

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:55:28