如何使用 WPML 中的语言代码获取语言的自定义标志

问题描述 投票:0回答:1

我正在使用 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';

提前致谢。

php wordpress wpml
1个回答
0
投票

有一个名为 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;
}
© www.soinside.com 2019 - 2024. All rights reserved.