- availability:
-
WPML Version: 4.0.6
- description:
-
This filter can be used when the theme developer wants to use a different cookie name or tweak the
languageUrls
array to use different URLs.It uses the
$params
argument which is an associative array containing some information about the current language, the active languages and the cookie settings. - type:
- filter
- category:
- Site-Wide Language Information
- parameters:
-
- pageLanguage
- Stores the current language code.
- languageUrls
- Stores an associative array containing all the current page’s translation URLs. The keys of the array are the language codes. The same language can have multiple entries to match a different combination of language codes. For instance, in the case of
en_US
, the same URL is repeated three times with the following keys:en_us
,en
, andus
. - cookie
- Stores an associative array with the cookie settings. Please refer to Document.cookie for more details. The keys are:
- name: the name of the cookie (defaults to
_icl_visitor_lang_js
). - domain: the domain in which the cookie must be used (defaults to the current domain and is not meant to be changed).
- path: the path of the cookie (defaults to
/
). - expiration: the expiration in seconds is read from the value set in Remember visitors’ language preference that can be found in Browser language redirect on the WPML -> Languages.
- name: the name of the cookie (defaults to
- hook example usage:
-
In order to use this filter Browser language redirect must be enabled on the WPML -> Languages.
Following code can be used to redirect browser to homepage for a post when language is changed to specific one
12345678910function
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'
;
}
return
$params
;
}
add_filter(
'wpml_browser_redirect_language_params'
,
'example_callback'
);