WPML
wpml_browser_redirect_language_params
类型
filter
WPML 版本
4.0.6

说明

当主题开发者想要使用不同的 cookie 名称,或调整 languageUrls 数组以使用不同的 URL 时,可以使用此过滤器。

它使用 $params 参数,该参数是一个关联数组,包含有关当前语言、活动语言和 cookie 设置的一些信息。

参数

pageLanguage
存储当前语言代码。
languageUrls
存储一个包含当前页面所有翻译 URL 的关联数组。该数组的键是语言代码。同一种语言可以有多个条目,以匹配不同的语言代码组合。例如,在 en_US 的情况下,相同的 URL 会重复三次,并使用以下键:en_usenus
cookie
存储一个包含 cookie 设置的关联数组。有关更多详情,请参阅 Document.cookie。键包括:
  • name:cookie 的名称(默认为 _icl_visitor_lang_js)。
  • domain:必须使用该 cookie 的域名(默认为当前域名,且不应更改)。
  • path:cookie 的路径(默认为 /)。
  • expiration:以秒为单位的过期时间,读取自 WPML -> 语言浏览器语言重定向下的记住访客的语言偏好设置值。

使用示例

为了使用此过滤器,必须在 WPML -> 语言中启用浏览器语言重定向

当语言更改为特定语言时,可以使用以下代码将针对某篇文章的浏览器重定向到主页

function example_callback( $params ) {
	global $post;
	// Redirect the French language to the home page if the current page ID is 123
	if ( $post->ID === 123 ) {
		$params['pageLanguage'] = 'en';
		$params['languageUrls'] = [ 'fr' => 'http://example.com/fr/' ];
	}
	return $params;
}
add_filter( 'wpml_browser_redirect_language_params', 'example_callback' );

wpml_decode_custom_field, wpml_footer_language_selector, wpml_add_language_form_field, wpml_ls_exclude_in_menu, wpml_is_rtl, wpml_alternate_hreflang, wpml_head_langs, wpml_must_translate_canonical_url, wpml_active_languages, wpml_encode_custom_field

所有 29 个 全站语言信息 钩子 →