You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过语言代码获取WPML中语言的自定义旗帜

WPML根据语言代码获取自定义旗帜的高效方案

不用遍历所有语言,直接用WPML内置的icl_get_language_info()函数就能搞定,它会自动识别后台配置的自定义旗帜,返回正确的URL,同时还能拿到语言相关的其他信息。

完整代码示例:

$lang_code = 'de';
// 直接通过语言代码获取语言详情
$lang_info = icl_get_language_info( $lang_code );

// 获取语言名称(两种方式选其一即可)
// 方式1:保留你原来的过滤器用法
$lang_name = apply_filters('wpml_translated_language_name', false, $lang_code );
// 方式2:直接从返回的数组取原生名称或后台设置的显示名称
// $lang_name = $lang_info['native_name']; 
// $lang_name = $lang_info['display_name'];

// 获取旗帜URL(兼容默认和自定义旗帜)
$flag_url = $lang_info['country_flag_url'];

// 输出旗帜和名称的示例
echo '<img src="' . esc_url( $flag_url ) . '" alt="' . esc_attr( $lang_name ) . '">';
echo '<span>' . esc_html( $lang_name ) . '</span>';

关键说明:

  • icl_get_language_info()是WPML官方提供的高效函数,仅针对单个语言代码查询,性能远优于遍历所有语言。
  • 返回的数组里country_flag_url字段会自动返回后台设置的自定义旗帜地址,不再依赖默认的插件路径,完美解决你之前的问题。
  • 函数返回的其他字段比如native_name(语言原生名称)、display_name(后台配置的显示名称)也可以按需使用,灵活度更高。

内容的提问来源于stack exchange,提问作者Rajeev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 08:32:09