/*
Plugin Name: Query the categories in all langages with Polylang
*/
add_filter('request', 'pll_cat_request');
function pll_cat_request($request) {
// default permalinks
if (isset($request['cat']))
$cat = $request['cat'];
// pretty permalinks
if (isset($request['category_name'])) {
$cat = get_category_by_slug($request['category_name']);
$cat = $cat->term_id;
unset($request['category_name']);
}
if (!isset($cat))
return $request; // end here if the request is not a category
// get the category in all languages
global $polylang;
foreach ($polylang->get_languages_list() as $lang)
$cats[] = pll_get_term($cat, $lang);
$request['cat'] = implode(',', $cats);
return $request;
}