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

How to load a different header.php depending on Multilanguage plugin's selected language?

我目前正在本地主机上测试我的 WordPress 网站。我设法使用多语言插件来更改所有页面的内容。但是由于我的主要内容在编辑器中,而我的菜单在 header.php 中,因此我无法对我的菜单执行相同的操作。这就提出了一个问题 - 如何根据所选语言加载不同的 header.php,翻译成另一种语言?还是将我的菜单也包含在编辑器中更好,这样我就可以像更改主要内容一样更改它?因为我所有的页面都使用相同的 header?

,那会不会效率低下?

如有任何帮助,我们将不胜感激。

我对 Multilanguage by BestWebSoft 插件不太熟悉,您必须查看文档以了解一些 plugin-released 更改 header 的方法。但是如果你想手动切换,你可以这样做:

因为get_header()可以加载不同的header模板,你可以创建多个header文件,命名为header.phpheader-fr.phpheader-de.php等。在这些文件中,您可以为当前语言做任何您想做的事情。然后你必须加载正确的 header:

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

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

因此,如果您当前的语言是 fr_FRget_header('fr') 将搜索 header-fr.php 文件,如果找不到,将加载默认的 header.php 文件。

当然,如果header文件之间的区别只是语言特定,你可以使用WP built-in功能进行翻译L10n functions。并创建您自己的翻译。

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

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