apply_filters( 'wpml_language_codes_map', array $map )
- Tipo
- filter
- Categoria
- Informações de idioma de todo o site
- Versão do WPML
- 5.0.0
Descrição
Filtra o mapa de códigos de idioma para os códigos que o WPML usa nos URLs.
Um idioma tem dois códigos no WPML 5.0. language_code é o código armazenado, e ele nunca muda. O código do URL é o segmento que um visitante vê, por exemplo, /de-de/. Os dois diferem quando o WPML qualifica o código do URL, o que acontece quando você adiciona dois países de um idioma na mesma etapa, e quando o proprietário do site edita o código do URL.
Este filtro é o mapa que o próprio conversor de URLs lê, portanto, ele nunca pode divergir dos links que o WPML cria. Use-o para descobrir o endereço de um idioma. Para ler todos os dados dos idiomas ativos, incluindo a bandeira e o URL completo, use wpml_active_languages.
Você cria o mapa e o WPML o reescreve. O WPML substitui o valor de cada chave que ele conhece pelo código do URL desse idioma, e deixa todas as outras chaves como você as passou. O WPML nunca adiciona um idioma, portanto, um array vazio retorna vazio. Crie o mapa primeiro, como WPML code => WPML code, e depois aplique o filtro. O WPML faz o mesmo em seu próprio código.
Argumentos
- Parâmetros
-
- $map(array) Um mapa de
WPML code => codeque você mesmo cria. O WPML substitui o valor de cada chave que ele conhece pelo código de URL desse idioma. Uma chave que o WPML não conhece mantém o valor que você passou.
- $map(array) Um mapa de
- Retorna
- (array) O mesmo mapa, com o código de URL de cada idioma que o WPML conhece. O WPML não adiciona chaves, portanto, passe todos os idiomas que você deseja ler.
Exemplo de uso
Leia o mapa para saber qual segmento de URL um idioma usa. O exemplo escreve uma linha por idioma. Ele lê a lista de idiomas com wpml_active_languages, portanto, é executado após a ação wp, como esse filtro.
Exemplo
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 alterar o código de URL de um idioma, edite-o em WPML » Configurações » Idiomas. Não use este filtro para mover um idioma para outro endereço: o WPML lê o mapa quando analisa um URL recebido e quando constrói um link, de modo que um valor que não pertence a nenhum idioma produz endereços que o WPML não consegue 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