WPML
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>';
    }
}

Функция в примере выше выполняет следующее:

  1. Если есть какие-либо языки, она создаёт элемент DIV и начинает неупорядоченный список

  2. Затем она перебирает каждый из языков и добавляет его в качестве элемента списка.
    Если язык не является активным, она добавляет ссылку на переведённую страницу для этого языка

  3. Затем она добавляет флаг языка

  4. Наконец, она добавляет как родное, так и переведённое названия языка, если они отличаются

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

Все хуки категории «Информация о языках для всего сайта» (29) →