WPML Sticky Links evita que os links entre páginas e posts sejam quebrados, mesmo que as páginas sejam movidas e renomeadas.
WordPress facilita demais a alteração dos endereços de página, fazendo com que todos os links de entrada sejam interrompidos (erro 404). Aqui estão algumas ações que podem resultar em um erro 404:
- Alterar o pai da página
- Alterar o slug
- Alterar a estrutura de permalink do site
WPML evita que as alterações nos URLs quebrem os links de entrada. Quando você cria um link, WPML o torna automaticamente fixo. Em vez de armazenar o URL dessa página (no momento em que o link foi criado), ele armazena o número da página. Isso nunca poderá mudar, não importa o que você faça.
Em seguida, quando a página for exibida, WPML insere o permalink da página para a qual você está fazendo o link. Sempre que o URL for alterado, todas as páginas com links para ele serão atualizadas imediatamente e terão links para o endereço correto.
As capturas de tela a seguir mostram a aparência dos links internos no banco de dados, quando os Sticky Links estão ativados.
Seus usuários nunca verão esses links “estranhos”. Em vez disso, WPML os substituirá pelos permalinks atuais ao exibir as páginas.
Controles de links fixos
Depois de ativar o módulo Sticky Links, você pode controlar as cadeias de caracteres que ele manipula. Para fazer isso, vá para a seção WPML → Página de links fixos .
Por padrão, WPML transformará todos os links no corpo do post em links fixos. Você também pode transformar links em widgets e strings em links fixos.
WPML permitirá que você substitua em lote todos os links regulares por links fixos. Ele também informará os links quebrados existentes e ajudará a corrigi-los.
Se você ativou Sticky Links depois de criar algum conteúdo, os links desse conteúdo existente não serão imediatamente transformados em links fixos.
A tela de administração Sticky Links informa a você quanto conteúdo pode incluir links normais (não adesivos). WPML pode analisar esse conteúdo e converter todos os links em links fixos. Para isso, clique no botão Scan.
Você sempre pode retornar seus links para permalinks regulares (não fixos) clicando em Revert sticky URLs to permalinks.
Link 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 Sticky Links ajusta os links automaticamente, ele pode impedir que você faça isso e, em vez disso, ajustar o link para apontar para o mesmo idioma.
Para poder adicionar links a páginas em outros idiomas, você precisa adicionar o seguinte filtro ao arquivo functions.php do seu tema.
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 a matriz $blacklist para especificar todos os slugs de URL das páginas nos idiomas originais para os quais você deseja criar links.
Em 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”), portanto, usamos as duas linhas a seguir:
$blacklist[] = 'documentation'; $blacklist[] = 'page-builders';
Manipulação de links dentro do conteúdo do shortcode
Por padrão, o plug-in Sticky Links não procura links gerados por códigos de acesso.
Se você tiver um shortcode na sua página que gere um link como “?page_id=XX“, ele será exibido para os usuários sem ser convertido em um permalink.
Para lidar com esse conteúdo de shortcode com o Sticky Links, adicione este snippet ao arquivo functions.php:
if ( class_exists( 'WPML_Sticky_Links' ) ) { global $WPML_Sticky_Links; add_filter( 'do_shortcode_tag', [ $WPML_Sticky_Links, 'show_permalinks' ], 0 ); }