如何加载不同的标头.php具体取决于多语言插件选择的语言


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

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

任何帮助将不胜感激。

我对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 函数。 并创建自己的翻译。

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

PS:您可以搜索插件文档以找到更好的方法来获取当前语言区域设置。