apply_filters( 'wpml_display_language_names', mixed $empty_value, string $native_name, string|bool $translated_name, bool $lang_native_hidden, bool $lang_translated_hidden )
- 类型
- filter
- 类别
- 全站语言信息
- WPML 版本
- 3.2
说明
检查一种语言的本族语名称与该语言的翻译名称是否不同。如果不同,则同时返回两者。否则,仅返回其中一个。
此过滤器通常用于自定义语言切换器。
参数
- $empty_value
- (mixed) (必填) 这通常是过滤器将要修改的值。我们在这里不进行任何过滤,因此将其设置为 NULL。这是为了让过滤器函数实际接收完整的参数列表
- $native_name
- (string) (必填) 语言的本族语名称
- $translated_name
- (string|bool) (必填) 语言的翻译名称。默认为 FALSE
- $lang_native_hidden
- (bool) (可选) 默认为 FALSE。0|false 或 1|true。是否隐藏语言的本族语名称
- $lang_translated_hidden
- (bool) (可选) 默认为 FALSE。0|false 或 1|true。是否隐藏语言的翻译名称
使用示例
示例
function my_footer_languages_list(){
$languages = apply_filters( 'wpml_active_languages', NULL, 'skip_missing=0&orderby=code' );
if( !empty( $languages ) ){
echo '<div id="footer_language_list"><ul>';
foreach( $languages as $l ){
echo '<li>';
if( $l['country_flag_url'] ){
if( !$l['active'] ) echo '<a href="'.$l['url'].'">';
echo '<img src="'.$l['country_flag_url'].'" height="12" alt="'.$l['language_code'].'" width="18" />';
if( !$l['active'] ) echo '</a>';
}
if(!$l['active']) echo '<a href="'.$l['url'].'">';
echo apply_filters( 'wpml_display_language_names', NULL, $l['native_name'], $l['translated_name'] );
if( !$l['active'] ) echo '</a>';
echo '</li>';
}
echo '</ul></div>';
}
}
上面的示例函数执行以下操作:
- 如果有任何语言,它将创建一个 DIV 并开始一个无序列表
- 然后,它会遍历每种语言并将其添加为列表项。
如果该语言不是活动语言,它会添加指向该语言翻译页面的链接 - 然后添加语言旗帜
- 最后,如果本族语名称和翻译名称不同,则同时添加这两种语言名称
相关钩子
wpml_decode_custom_field, wpml_footer_language_selector, wpml_add_language_form_field, wpml_ls_exclude_in_menu, wpml_is_rtl, wpml_alternate_hreflang, wpml_head_langs, wpml_must_translate_canonical_url, wpml_browser_redirect_language_params, wpml_active_languages