Function Reference: geodir_wpml_filter_ls_languages
Summary
Filters the WPML language switcher urls for GeoDirectory pages.
Parameters
- $languages
- (array) (required) WPML active languages.
- Default: None
Return Values
- (array)
- Filtered languages.
Change Log
Since: 1.6.16
Source File
geodir_wpml_filter_ls_languages() is located in geodirectory_hooks_actions.php [Line: 2869]
Source Code
function geodir_wpml_filter_ls_languages($languages) { if (geodir_is_geodir_page()) { $keep_vars = array(); if (geodir_is_page('add-listing')) { $keep_vars = array('listing_type', 'package_id'); } else if (geodir_is_page('search')) { $keep_vars = array('geodir_search', 'stype', 'snear', 'set_location_type', 'set_location_val', 'sgeo_lat', 'sgeo_lon'); } else if (geodir_is_page('author')) { $keep_vars = array('geodir_dashbord', 'stype', 'list'); } else if (geodir_is_page('login')) { $keep_vars = array('forgot', 'signup'); } if (!empty($keep_vars)) { foreach ( $languages as $code => $url) { $filter_url = $url['url']; foreach ($keep_vars as $var) { if (isset($_GET[$var]) && !is_array($_GET[$var])) { $filter_url = remove_query_arg(array($var), $filter_url); $filter_url = add_query_arg(array($var => $_GET[$var]), $filter_url); } } if ($filter_url != $url['url']) { $languages[$code]['url'] = $filter_url; } } } } return $languages; }