如何根据Multilanguage插件的选定语言加载不同的header.php?

时间:2016-01-27 06:06:04

标签: php wordpress wordpress-plugin multilingual

我目前正在localhost上测试我的WordPress网站。我设法使用Multilanguage插件来更改所有页面的内容。但由于我的主要内容在编辑器中,而我的菜单在header.php中,我无法对我的菜单执行相同的操作。这提出了一个问题 - 如何加载不同的header.php,翻译成另一种语言,取决于所选语言?或者我的菜单也包含在编辑器中更好,所以我可以像更改主要内容一样更改它?由于我的所有页面都使用相同的标题,这不会效率低下吗?

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:2)

我对Multilanguage by BestWebSoft插件不是很熟悉,你必须查看文档中的一些插件发布方法来更改标题。但如果你想手动切换,你可以这样做:

由于get_header()可以加载不同的标头模板,因此您可以创建多个标头文件,名为header.phpheader-fr.phpheader-de.php等。在这些文件中,您可以执行以下操作想要当前的语言。然后你必须加载正确的标题:

//get gurrent language
global $mltlngg_current_language; //this contains current locale in format 'en_EN' ...

get_header(explode('_', $mltlngg_current_language)[0]);

因此,如果您当前的lang为fr_FRget_header('fr')将搜索header-fr.php文件,如果缺少,则会加载默认的header.php文件。

当然,如果头文件之间的差异仅是特定于语言的,则可以使用WP内置函数进行翻译L10n functions。并创建自己的翻译。

同样,这是完成这项工作的手动方式,也许你的插件可以提供更好的方法:)

P.S:您可以搜索插件文档,以找到更好的方法来获取当前语言区域。