apply_filters( 'wpml_language_codes_map', array $map )
- Type
- filter
- Version de WPML
- 5.0.0
Description
Filtre le tableau de correspondance des codes de langue vers les codes que WPML utilise dans les URL.
Une langue possède deux codes dans WPML 5.0. language_code est le code stocké, et il ne change jamais. Le code d’URL est le segment qu’un visiteur voit, par exemple /de-de/. Les deux diffèrent lorsque WPML qualifie le code d’URL, ce qui se produit lorsque vous ajoutez deux pays d’une même langue dans la même étape, et lorsque le propriétaire du site modifie le code d’URL.
Ce filtre est le tableau de correspondance que le convertisseur d’URL lui-même lit, il ne peut donc jamais être en contradiction avec les liens que WPML construit. Utilisez-le pour connaître l’adresse d’une langue. Pour lire toutes les données des langues actives, y compris le drapeau et l’URL complète, utilisez wpml_active_languages.
Vous construisez le tableau de correspondance et WPML le réécrit. WPML remplace la valeur de chaque clé qu’il connaît par le code d’URL de cette langue, et il laisse toutes les autres clés telles que vous les avez transmises. WPML n’ajoute jamais de langue, un tableau vide revient donc vide. Construisez d’abord le tableau de correspondance, sous la forme WPML code => WPML code, puis appliquez le filtre. WPML fait de même dans son propre code.
Arguments
- Paramètres
-
- $map(array) Un tableau de
WPML code => codeque vous construisez vous-même. WPML remplace la valeur de chaque clé qu’il connaît par le code d’URL de cette langue. Une clé que WPML ne connaît pas conserve la valeur que vous avez transmise.
- $map(array) Un tableau de
- Valeur de retour
- (array) Le même tableau, avec le code d’URL de chaque langue que WPML connaît. WPML n’ajoute aucune clé, transmettez donc chaque langue que vous souhaitez lire.
Exemple d’utilisation
Lisez le tableau pour savoir quel segment d’URL utilise une langue. L’exemple écrit une ligne par langue. Il lit la liste des langues avec wpml_active_languages, il s’exécute donc après l’action wp, comme ce filtre.
Exemple
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 />';
}
}
Pour modifier le code d’URL d’une langue, modifiez-le dans WPML » Paramètres » Langues. N’utilisez pas ce filtre pour déplacer une langue vers une autre adresse : WPML lit le tableau lorsqu’il analyse une URL entrante et lorsqu’il crée un lien, ainsi, une valeur qu’aucune langue ne possède produit des adresses que WPML ne peut pas résoudre.
Hooks associés
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
Tous les 30 hooks de la catégorie Informations sur les langues à l’échelle du site