Pular a navegação
Atualizado
junho 7, 2024

Muitos temas WordPress incluem links codificados. Por exemplo, os links de rodapé que apontam para as páginas de suporte e contato podem ter a seguinte aparência:

<a href="/support/">Support</a> | <a href="/contact-us/">Contact us</a>

Quando o site estiver sendo executado em vários idiomas, esses links deverão ser adaptados para o idioma de exibição. Tanto o texto do link (o que o visitante vê) quanto o URL (para onde o link está apontando) precisam ser alterados quando você muda de idioma.

A função icl_link_to_element () WPML produzirá links localizados para páginas e deve ser usada para essa finalidade.

Observação: Para versões WPML >=3.2, use o gancho do filtro wpml_element_link. A função mostrada abaixo ainda pode ser usada, mas foi descontinuada e será completamente removida na versão 3.3

Descrição da função

icl_link_to_element(ID, type, text, arguments, anchor);

Argumento Descrição Obrigatório / opcional
ID O ID do post, da página, da tag ou da categoria que você deseja vincular. Obrigatório
tipo O tipo de página para a qual você deseja criar um link. Pode ser “post”, “página”, “tag” ou “categoria”. Opcional, o padrão é ‘post”
texto O texto do link. Se não for especificado, você produzirá o nome do elemento no idioma atual. Opcional, o padrão é o nome do elemento. Para deixar como padrão, digite false.
argumentos Argumentos opcionais para o link. Quando usado, deve ser uma matriz PHP. Opcional, o padrão é sem argumentos
âncora Âncora opcional para o link. Opcional, o padrão é sem âncora

Exemplo de uso

Exemplo Finalidade HTML produzido
<?php icl_link_to_element(10); ?> Link para a página 10 (página de suporte) <a href=”/support/”>Support</a>
<?php icl_link_to_element(10,’post’,__(‘Get help’)); ?> Link para a página de suporte com um texto de link alternativo <a href=”/support/”>Obtenha ajuda</a>
<?php icl_link_to_element(10,’post’,false, array(‘category’=>’products’,’priority’=>’high’); ?> Link para a página de suporte e adicione dois argumentos <a href=”/support/?category=products&priority=high”>Support</a>
<?php icl_link_to_element(10,’post’,false,’priority’=>’high’,’faq’); ?>
<?php icl_link_to_element(3,’tag’); ?> Link para a tag com ID 3 (nossa tag “News”) <a href=”/tag/news/”>News</a>

Como funciona

Você pode especificar o ID de uma página/post/tag/categoria em qualquer idioma. WPML verificará se existe tradução para o idioma atual. Se for o caso, você verá o link para ele. Se não houver tradução, você terá um link para a página no idioma original.

Quando você especifica o texto do link manualmente, é uma boa ideia envolvê-lo na chamada __ () do gettext, para que o texto seja exibido no idioma correto. Se você não especificar nenhum texto de link (como no primeiro exemplo), WPML produzirá o nome dessa página.