apply_filters( 'wpml_language_codes_map', array $map )
- Tipo
- filter
- Categoría
- Información de idioma de todo el sitio
- Versión de WPML
- 5.0.0
Descripción
Filtra el mapa de códigos de idioma a los códigos que WPML utiliza en las URL.
Un idioma tiene dos códigos en WPML 5.0. language_code es el código almacenado, y nunca cambia. El código de la URL es el segmento que ve un visitante, por ejemplo /de-de/. Ambos difieren cuando WPML califica el código de la URL, lo cual ocurre cuando añade dos países de un mismo idioma en el mismo paso, y cuando el propietario del sitio edita el código de la URL.
Este filtro es el mapa que lee el propio conversor de URL, por lo que nunca puede diferir de los enlaces que crea WPML. Úselo para conocer la dirección de un idioma. Para leer todos los datos de los idiomas activos, incluida la bandera y la URL completa, use wpml_active_languages.
Usted construye el mapa y WPML lo reescribe. WPML reemplaza el valor de cada clave que conoce con el código de la URL de ese idioma, y deja todas las demás claves tal como las pasó. WPML nunca añade un idioma, por lo que un array vacío se devuelve vacío. Construya el mapa primero, como WPML code => WPML code, y luego aplique el filtro. WPML hace lo mismo en su propio código.
Argumentos
- Parámetros
-
- $map(array) Un mapa de
WPML code => codeque usted mismo construye. WPML reemplaza el valor de cada clave que conoce por el código de URL de ese idioma. Una clave que WPML no conoce conserva el valor que usted pasó.
- $map(array) Un mapa de
- Devuelve
- (array) El mismo mapa, con el código de URL de cada idioma que WPML conoce. WPML no añade claves, así que pase cada idioma que quiera leer.
Ejemplo de uso
Lea el mapa para saber qué segmento de URL utiliza un idioma. El ejemplo escribe una línea por idioma. Lee la lista de idiomas con wpml_active_languages, por lo que se ejecuta después de la acción wp, al igual que ese filtro.
Ejemplo
function my_language_url_codes() {
$codes = apply_filters( 'wpml_active_languages', null );
if ( empty( $codes ) ) {
return;
}
$identity = array_combine( array_keys( $codes ), array_keys( $codes ) );
$map = apply_filters( 'wpml_language_codes_map', $identity );
foreach ( $map as $language_code => $url_code ) {
echo esc_html( $language_code . ' is served at /' . $url_code . '/' ) . '<br />';
}
}
Para cambiar el código de URL de un idioma, edítelo en WPML » Configuración » Idiomas. No utilice este filtro para mover un idioma a otra dirección: WPML lee el mapa cuando analiza una URL entrante y cuando crea un enlace, por lo que un valor que no pertenece a ningún idioma produce direcciones que WPML no puede resolver.
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
Todos los 30 hooks de Información de idioma de todo el sitio