term_id, $lang_slug); if ($translated_term) { $lang_url = get_term_link($translated_term); } else { $lang_url = pll_home_url($lang_slug); } } else { $lang_url = pll_home_url($lang_slug); } } elseif (is_archive()) { if (is_author()) { $author = get_queried_object(); if ($author) { $author_posts_url = get_author_posts_url($author->ID); $lang_url = str_replace(home_url(), pll_home_url($lang_slug), $author_posts_url); } else { $lang_url = pll_home_url($lang_slug); } } elseif (is_date()) { $current_url = home_url(add_query_arg(array(), $wp->request)); $lang_url = str_replace(home_url(), pll_home_url($lang_slug), $current_url); } else { $lang_url = pll_home_url($lang_slug); } } else { if (function_exists('pll_home_url')) { $lang_url = pll_home_url($lang_slug); } } if (empty($lang_url)) { $lang_url = pll_home_url($lang_slug); } $lang_name = ''; if (function_exists('pll_languages_list')) { $lang_names = pll_languages_list(array('fields' => 'name')); $lang_slugs = pll_languages_list(array('fields' => 'slug')); $lang_index = array_search($lang_slug, $lang_slugs); if ($lang_index !== false && isset($lang_names[$lang_index])) { $lang_name = $lang_names[$lang_index]; } else { $lang_name = strtoupper($lang_slug); } } else { $lang_name = strtoupper($lang_slug); } // Замена названий языков на кастомные $custom_lang_names = array( 'Fakel Fitness' => 'Фитнес-центр', 'Fakel Gym' => 'Зал силовых' ); if (isset($custom_lang_names[$lang_name])) { $display_name = $custom_lang_names[$lang_name]; } else { $display_name = $lang_name; } echo sprintf( '%s', esc_url($lang_url), esc_attr($class), esc_attr($lang_slug), esc_html($display_name) ); } } ?>