WPML
apply_filters( 'wpml_language_codes_map', array $map )
Tipo
filter
Versione di WPML
5.0.0

Descrizione

Filtra la mappa dai codici lingua ai codici che WPML utilizza negli URL.

Una lingua ha due codici in WPML 5.0. language_code è il codice memorizzato e non cambia mai. Il codice URL è il segmento che vede un visitatore, ad esempio /de-de/. I due differiscono quando WPML qualifica il codice URL, il che accade quando aggiungi due paesi di una lingua nello stesso passaggio, e quando il proprietario del sito modifica il codice URL.

Questo filtro è la mappa che il convertitore di URL stesso legge, quindi non può mai essere in disaccordo con i link che WPML costruisce. Usalo per conoscere l’indirizzo di una lingua. Per leggere tutti i dati delle lingue attive, inclusa la bandiera e l’URL completo, usa wpml_active_languages.

Tu costruisci la mappa e WPML la riscrive. WPML sostituisce il valore di ogni chiave che conosce con il codice URL di quella lingua e lascia ogni altra chiave così come l’hai passata. WPML non aggiunge mai una lingua, quindi un array vuoto viene restituito vuoto. Costruisci prima la mappa, come WPML code => WPML code, e poi applica il filtro. WPML fa lo stesso nel proprio codice.

Argomenti

Parametri
  • $map(array) Una mappa di WPML code => code che crei tu stesso. WPML sostituisce il valore di ogni chiave che conosce con il codice URL di quella lingua. Una chiave che WPML non conosce mantiene il valore che hai passato.
Restituisce
(array) La stessa mappa, con il codice URL di ogni lingua che WPML conosce. WPML non aggiunge chiavi, quindi passa ogni lingua che vuoi leggere.

Esempio di utilizzo

Leggi la mappa per scoprire quale segmento URL utilizza una lingua. L’esempio scrive una riga per lingua. Legge l’elenco delle lingue con wpml_active_languages, quindi viene eseguito dopo l’azione wp, come quel filtro.

Esempio
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 />';
    }
}

Per cambiare il codice URL di una lingua, modificalo in WPML » Impostazioni » Lingue. Non utilizzare questo filtro per spostare una lingua a un altro indirizzo: WPML legge la mappa quando analizza un URL in entrata e quando crea un link, quindi un valore che non appartiene a nessuna lingua produce indirizzi che WPML non può risolvere.

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

Tutti i 30 hook della categoria Informazioni sulla lingua a livello di sito