您可以使用WordPress挂钩加载特定于站点的文件,但这需要一些工作。
在本例中,我们将在系统位置保留一个公共荷兰语文件。这可以包含适用于两个站点的任何字符串。然后,我们将使用site ID. 我们总共有三个文件:
wp内容/语言/插件/woocommerce-nl\\U nl。mo-wp-content/languages/my-site-1/woocommerce-nl\\u-nl。mo内容/语言/my-site-2/woocommerce-nl\\U nl。mo在最后两个文件中,您只需要翻译希望与第一个文件不同的字符串。
要根据站点加载正确的文件,请将以下代码放在某个位置,以便它尽早运行。A.must-use plugin 通常最简单:
<?php
/*
Plugin Name: Multisite translation loader
Description: Loads site-specific translations on top of default
*/
function on_multisite_load_textdomain( $domain, $mopath ){
static $lock;
if( ! $lock ){
$mopath = sprintf(\'%s/my-site-%u/%s\',
WP_LANG_DIR,
get_current_blog_id(),
basename($mopath)
);
$lock = true;
load_textdomain( $domain, $mopath );
$lock = false;
}
}
if( is_multisite() ){
add_action(\'load_textdomain\',\'on_multisite_load_textdomain\',1,2);
}
如果要使用本地翻译来管理这些文件,则必须为每个站点配置额外的
Domain Path. 进入每个站点的管理区域,打开捆绑包配置的高级选项卡。将相对路径(如“../../languages/site1”和“../../languages/site2”)添加到域路径字段并保存配置。
请注意,每个站点都维护单独的插件设置,因为它们保存为site WordPress数据库中的选项。