跳至正文

Oxygen 中的 Polylang 条件:如何为不同的语言使用同一个模板

在 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,它看起来是这样的:

Snippets 代码片断:oxygen vsb register polylang

这完成了代码的工作,然后我们继续使用 Oxygen 编辑器。

2. 在 Oxygen 编辑器中根据语言环境设置元素的显示

假设您有一个主模板,现在您可以通过为每个标题应用适当的语言条件,在同一模板中创建两个不同的标题。因此,一个标题将只显示在英文版页面上,而另一个标题将显示在德文版页面上。

Oxygen

您可以将此条件用于整个部分或任意数量的单独页面元素。

我希望这种方法可以帮助您创建多语言网站。如果您有任何疑问,请写在下面的评论中。

翻译:https://oxywp.com/polylang-condition-in-oxygen/

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注