如何根据多语言插件的所选语言加载不同的 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.php
、header-fr.php
、header-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_FR
,get_header('fr')
将搜索 header-fr.php
文件,如果找不到,将加载默认的 header.php
文件。
当然,如果header文件之间的区别只是语言特定,你可以使用WP built-in功能进行翻译L10n functions。并创建您自己的翻译。
同样,这是完成这项工作的手动方式,也许您的插件可以提供更好的方式来完成这项工作:)
P.S:您可以搜索插件文档以找到获取当前语言环境的更好方法。
我目前正在本地主机上测试我的 WordPress 网站。我设法使用多语言插件来更改所有页面的内容。但是由于我的主要内容在编辑器中,而我的菜单在 header.php 中,因此我无法对我的菜单执行相同的操作。这就提出了一个问题 - 如何根据所选语言加载不同的 header.php,翻译成另一种语言?还是将我的菜单也包含在编辑器中更好,这样我就可以像更改主要内容一样更改它?因为我所有的页面都使用相同的 header?
,那会不会效率低下?如有任何帮助,我们将不胜感激。
我对 Multilanguage by BestWebSoft
插件不太熟悉,您必须查看文档以了解一些 plugin-released 更改 header 的方法。但是如果你想手动切换,你可以这样做:
因为get_header()
可以加载不同的header模板,你可以创建多个header文件,命名为header.php
、header-fr.php
、header-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_FR
,get_header('fr')
将搜索 header-fr.php
文件,如果找不到,将加载默认的 header.php
文件。
当然,如果header文件之间的区别只是语言特定,你可以使用WP built-in功能进行翻译L10n functions。并创建您自己的翻译。
同样,这是完成这项工作的手动方式,也许您的插件可以提供更好的方式来完成这项工作:)
P.S:您可以搜索插件文档以找到获取当前语言环境的更好方法。