我正在使用 WPML 来实现多语言功能。 我想根据语言代码显示语言名称和语言标志。我可以使用下面的过滤器获取语言名称。
$lang_code = 'de';
$lang_name = apply_filters('wpml_translated_language_name', false, $lang_code );
但我无法检索与该语言相关的标志。我找到了一个使用下面的代码获取标志的选项,但问题是如果为后端的语言配置了自定义标志,它就不起作用。
$flag_url = ICL_PLUGIN_URL . '/res/flags/' . $lang_code . '.svg';
提前致谢。
有一个名为 wpml_active_languages
的
hook,其返回的数组包含每种语言值
country_flag_url
。所以你应该能够通过下面的代码获取 url:
$languages = apply_filters( 'wpml_active_languages', NULL, 'orderby=id&order=desc' );
$lang_code = 'de';
if (isset($languages[$lang_code]) && isset($languages[$lang_code]['country_flag_url'])) {
$country_flag_url = $languages[$lang_code]['country_flag_url'];
echo $country_flag_url;
}