/* 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; }