WPML

Os Links Adesivos do WPML evitam que os links entre páginas e posts quebrem, mesmo se as páginas mudarem de lugar e forem renomeadas.


O WordPress torna muito fácil alterar os endereços das páginas, o que faz com que todos os links de entrada quebrem (erro 404). Aqui estão algumas ações que podem resultar em um erro 404:
  • Alterar a página pai
  • Alterar o slug
  • Alterar a estrutura de links permanentes do site

O WPML evita que alterações nos URLs quebrem os links de entrada. Quando você cria um link, o WPML o torna adesivo automaticamente. Em vez de armazenar o URL daquela página (no momento em que o link foi criado), ele armazena o número da página. Isso nunca muda, não importa o que você faça.

Então, quando a página é exibida, o WPML insere o link permanente da página para a qual você está apontando. Sempre que o URL mudar, todas as páginas que apontam para ele serão atualizadas imediatamente e levarão ao endereço correto.

As capturas de tela a seguir mostram como os links internos aparecem no banco de dados, depois que os Links Adesivos são ativados.

Links transformados em adesivos pelo WPML vistos no editor de blocos
Links transformados em adesivos pelo WPML vistos no editor de blocos
Links transformados em adesivos pelo WPML vistos no editor clássico
Links transformados em adesivos pelo WPML vistos no editor clássico

Seus usuários nunca verão esses links “estranhos”. Em vez disso, o WPML vai substituí-los pelos links permanentes atuais ao exibir as páginas.
Depois de ativar o módulo Links Adesivos, você pode controlar quais strings ele processa. Para fazer isso, vá para a página WPMLLinks Adesivos.
Links Adesivos antes do processamento
Links Adesivos antes do processamento

Por padrão, o WPML transformará todos os links no corpo do post em links adesivos. Você também pode transformar links em widgets e strings em links adesivos.

O WPML permite que você substitua em lote todos os links normais por links adesivos. Ele também relatará quaisquer links quebrados existentes e ajudará a corrigi-los.

Se você ativou os Links Adesivos depois de criar algum conteúdo, os links desse conteúdo existente não serão transformados imediatamente em adesivos.

A tela de administração dos Links Adesivos informa quanto conteúdo pode incluir links normais (não adesivos). O WPML pode analisar esse conteúdo e converter todos os links em links adesivos. Clique no botão Analisar para fazer isso.

Você sempre pode retornar seus links para links permanentes normais (não adesivos) clicando em Reverter URLs adesivos para links permanentes.

Como adicionar links para páginas em um idioma diferente


Às vezes, você pode querer inserir um link para uma página que está em outro idioma. Como os Links Adesivos ajustam os links automaticamente, isso pode impedir que você faça isso e ajustar o link para apontar para o mesmo idioma em vez disso.

Para poder adicionar links a páginas em outros idiomas, você precisa adicionar o seguinte filtro ao arquivo functions.php do seu tema.

Permitir links para páginas em outros idiomas
add_filter( 'wpml_sl_blacklist_requests', 'wpml_sl_blacklist_requests', 10, 2 );

function wpml_sl_blacklist_requests( $blacklist, $sitepress ) {
    $blacklist[] = 'documentation';
    return $blacklist;
}

No código acima, use o array $blacklist para especificar todos os slugs de URL das páginas nos idiomas originais para as quais você quer criar um link.

No nosso exemplo, queremos criar um link para a versão em inglês das páginas “Documentation” (slug “documentation”) e “Page Builders” (slug “page-builders”), então usamos as duas linhas a seguir:

Exemplo de como especificar a lista de URLs para permitir links
$blacklist[] = 'documentation';

$blacklist[] = 'page-builders';

Por padrão, o plugin Links Adesivos não procura por links gerados por shortcodes.

Se você tiver um shortcode na sua página que gere um link como “?page_id=XX”, ele será exibido para os seus usuários sem ser convertido em um link permanente.

Para lidar com esse conteúdo de shortcode usando os Links Adesivos, adicione este trecho ao seu arquivo functions.php:

Lidar com links dentro de conteúdo de shortcode
if ( class_exists( 'WPML_Sticky_Links' ) ) {
	global $WPML_Sticky_Links;
	add_filter( 'do_shortcode_tag', [ $WPML_Sticky_Links, 'show_permalinks' ], 0 );
}

Escrito por Amir · Última atualização em 19 de fevereiro de 2025