要让WordPress主题支持自定义多语言包(即国际化+多语言内容管理),你可以结合主题国际化(i18n)和多语言插件(如Polylang或WPML)来实现。以下是完整方案:
第一步:主题国际化(i18n)基础设置
确保你的主题支持翻译功能:
1.在主题中声明文本域
在functions.php中添加:
function my_theme_load_textdomain() {
load_theme_textdomain('my_theme', get_template_directory() . '/languages');
}
add_action('after_setup_theme', 'my_theme_load_textdomain');
2.创建语言包目录
在主题根目录下创建:
wp-content/themes/your-theme/languages/
3.添加.pot模板文件
使用Poedit或wpi18nmake-pot命令生成.pot文件,放在/languages目录中。
4.创建自定义语言包
用户或开发者可以基于.pot文件创建.po和.mo文件,如:
简体中文:zh_CN.po/zh_CN.mo
英文:en_US.po/en_US.mo
第二步:支持多语言内容管理(前端切换)
仅支持翻译还不够,还需要支持多语言内容切换。推荐以下两种方式:
方案A:使用Polylang(免费插件)
适合大多数站点,支持手动翻译、语言切换、SEO优化。
步骤:
安装并启用Polylang插件
设置语言:后台→语言→添加语言(如中文、英文、日文)
设置URL格式:建议用目录形式,如/en/、/zh/
为每篇文章/页面创建对应语言版本
添加语言切换器到菜单或小工具区域
优点:
免费、轻量、兼容性好
支持主题/插件字符串翻译
支持SEO(hreflang、独立链接)
方案B:使用WPML(付费插件)
适合企业级站点,支持自动翻译、电子商务、用户权限等高级功能。
步骤:
安装并启用WPML插件
设置默认语言(如中文)
添加第二语言(如英文、西班牙文)
翻译内容:手动或使用AI(DeepL/Google)
配置语言切换器、菜单、货币等
第三步:支持用户自定义语言包(可选增强)
如果你想让用户自定义翻译而不修改主题文件,可结合LocoTranslate插件:
安装LocoTranslate
进入LocoTranslate→主题→选择你的主题
创建新语言(如自定义中文)
在线翻译并保存,自动生成.po/.mo文件到:
wp-content/languages/themes/your-theme-zh_CN.mo
用户可随时修改,不影响主题更新
推荐组合方案
目标 | 推荐组合 |
---|---|
主题支持翻译 | 添加 load_theme_textdomain() + .pot 文件 |
多语言内容管理 | 安装 Polylang(免费)或 WPML(付费) |
用户自定义翻译 | 搭配 Loco Translate 插件 |
多语言 SEO | 使用 Polylang/WPML 自动生成 hreflang 标签 |
如需我帮你生成一个示例.pot文件或写一个languages文件夹结构模板,也可以继续问我。