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
説明
言語のネイティブ名と同じ言語の翻訳名が異なるかどうかを確認します。異なる場合は、両方を返します。そうでない場合は、1つだけを返します。
このフィルターは通常、カスタム言語スイッチャーで使用されます。
引数
- $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