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

子主题无法加载自有翻译文件,求助不受父主题更新影响的翻译实现方案

解决子主题加载自定义翻译(避免父主题更新覆盖)的问题

看起来你已经找对了方向,但可能在文本域匹配、加载优先级或者文件命名上出了小问题。我来帮你梳理两种可靠的解决方案,确保你的自定义翻译不会被父主题更新覆盖:

方法一:通过子主题加载翻译文件(适合大量修改)

这个方法需要你维护.po/.mo文件,但能完整覆盖父主题的翻译,且文件存在于子主题目录,完全不受父主题更新影响。

关键注意事项:

  1. 翻译文件命名必须正确:
    文件名称格式为{父主题文本域}-{站点语言代码}.po和.mo。比如:

    • 如果父主题的文本域是total,站点语言是简体中文,文件应该命名为total-zh_CN.po和total-zh_CN.mo
    • 把这两个文件放在子主题的languages目录下(如果目录不存在,手动创建一个)
  2. 修改子主题functions.php的加载代码:
    父主题通常会在after_setup_theme动作的优先级10加载自己的翻译,所以我们需要用更高的优先级(比如11)加载子主题的翻译,确保子主题的翻译能覆盖父主题的内容。替换你之前的代码为:

    function my_child_theme_load_custom_translations() {
        // 先加载父主题的默认翻译(可选,确保父主题未覆盖的字符串正常显示)
        load_theme_textdomain( 'total', get_template_directory() . '/languages' );
        // 加载子主题的自定义翻译,会覆盖父主题的相同字符串
        load_child_theme_textdomain( 'total', get_stylesheet_directory() . '/languages' );
    }
    add_action( 'after_setup_theme', 'my_child_theme_load_custom_translations', 11 );
    

    注意:把total替换成你父主题实际使用的文本域(可以在父主题的style.css或者functions.php里找到,通常在load_theme_textdomain函数中)。

方法二:使用gettext过滤器直接替换字符串(适合少量修改)

如果你只需要修改少数几个词汇,不需要维护翻译文件,这个方法更高效,且完全不受任何主题更新影响:

在子主题的functions.php中添加以下代码:

function my_custom_translate_specific_strings( $translated_text, $original_text, $domain ) {
    // 只针对父主题的文本域进行替换
    if ( $domain === 'total' ) {
        // 替换你需要修改的字符串,这里示例替换两个词汇
        switch ( $original_text ) {
            case 'Read More':
                $translated_text = '查看更多';
                break;
            case 'Latest Posts':
                $translated_text = '最新文章';
                break;
            // 可以继续添加更多需要替换的原文本和翻译内容
        }
    }
    return $translated_text;
}
add_filter( 'gettext', 'my_custom_translate_specific_strings', 20, 3 );

说明:

  • 把total替换为父主题的文本域
  • 修改case里的原文本和对应的翻译内容即可,优先级设为20确保能覆盖默认翻译

验证步骤:

  1. 保存修改后,清空WordPress缓存(如果用了缓存插件)
  2. 刷新前端页面,检查翻译是否生效
  3. 如果还是没生效,确认:
    • 子主题的languages目录权限正确(通常755)
    • 翻译文件的语言代码和站点后台设置的语言一致(比如后台设置的是中文简体,文件就是zh_CN)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 12:22:30