在 Oxygen 中创建多语言网站时,总是会出现选择最佳内容翻译插件的问题。我在几个多语言网站上使用Polylang 插件已经一年多了,效果很好。
今天我想和大家分享一种方法,让你不用在 Oxygen 中为每种语言创建一堆不同的模板。为此,我注册了一个自定义条件以根据 Polylang 语言环境显示或隐藏元素。
假设您的网站有两种语言的内容 – 英语和德语。您已经安装了 Polylang 插件并进行了基本设置。
1. 向 Oxygen 注册自定义条件
将此代码片段(原样,未更改)添加到您自己的插件中,或使用代码片段插件:
if( function_exists('oxygen_vsb_register_condition') && function_exists('pll_languages_list') ) {
$lang_list = pll_languages_list();
oxygen_vsb_register_condition(
//Condition Name
'Locale',
//Values
array(
'options' => $lang_list,
'custom' => false
),
//Operators
array('==', '!='),
//Callback Function
'polylang_callback',
//Condition Category
'Polylang'
);
function polylang_callback($value, $operator) {
$my_lang = pll_current_language();
global $OxygenConditions;
return $OxygenConditions->eval_string($my_lang, $value, $operator);
}
}
我通常使用Snippets,它看起来是这样的:
这完成了代码的工作,然后我们继续使用 Oxygen 编辑器。
2. 在 Oxygen 编辑器中根据语言环境设置元素的显示
假设您有一个主模板,现在您可以通过为每个标题应用适当的语言条件,在同一模板中创建两个不同的标题。因此,一个标题将只显示在英文版页面上,而另一个标题将显示在德文版页面上。
您可以将此条件用于整个部分或任意数量的单独页面元素。
我希望这种方法可以帮助您创建多语言网站。如果您有任何疑问,请写在下面的评论中。
翻译:https://oxywp.com/polylang-condition-in-oxygen/