apply_filters( 'wpml_display_language_names', mixed $empty_value, string $native_name, string|bool $translated_name, bool $lang_native_hidden, bool $lang_translated_hidden )
- Tipo
- filter
- Categoría
- Información de idioma de todo el sitio
- Versión de WPML
- 3.2
Descripción
Comprueba si el nombre nativo de un idioma y el nombre traducido del mismo idioma son diferentes. Si es así, devuelve ambos. De lo contrario, solo devuelve uno.
Este filtro se suele usar en selectores de idiomas personalizados.
Argumentos
- $empty_value
- (mixed) (Obligatorio) Normalmente, este es el valor que modificará el filtro. Aquí no estamos filtrando nada, así que establézcalo en NULL. Esto es para que la función del filtro reciba realmente la lista completa de argumentos.
- $native_name
- (string) (Obligatorio) El nombre nativo del idioma.
- $translated_name
- (string|bool) (Obligatorio) El nombre traducido del idioma. El valor predeterminado es FALSE.
- $lang_native_hidden
- (bool) (Opcional) El valor predeterminado es FALSE. 0|false o 1|true. Indica si se debe ocultar o no el nombre nativo del idioma.
- $lang_translated_hidden
- (bool) (Opcional) El valor predeterminado es FALSE. 0|false o 1|true. Indica si se debe ocultar o no el nombre traducido del idioma.
Ejemplo de uso
Ejemplo
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>';
}
}
La función de ejemplo anterior hace lo siguiente:
- Si hay algún idioma, crea un DIV e inicia una lista desordenada.
- Luego, recorre cada uno de los idiomas y lo añade como un elemento de la lista.
Si el idioma no es el idioma activo, añade un enlace a la página traducida para ese idioma. - A continuación, añade la bandera del idioma.
- Por último, añade tanto el nombre nativo como el traducido del idioma si son diferentes.
Hooks relacionados
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