FacetWP Polylang: Como Integrar FacetWP com Polylang e WPML
A prática de criar sites multilíngues tem se tornado cada vez mais comum, à medida que as empresas buscam alcançar públicos diversos em diferentes regiões. O FacetWP, que é uma poderosa ferramenta de filtragem para WordPress, oferece suporte para integração com plugins de tradução como o Polylang e o WPML. Neste texto, vamos abordar como configurar e utilizar o FacetWP Polylang de forma eficaz, para garantir que suas traduções de conteúdos sejam exibidas corretamente e com qualidade.
Integração do FacetWP com Polylang
A primeira etapa para uma integração bem-sucedida entre o FacetWP e o Polylang é a instalação do complemento Multilingual, que possibilita que suas traduções se conectem ao FacetWP. Ao ativar o Polylang em seu site, é fundamental percorrer todas as etapas do assistente de configuração. Este assistente permite que você defina uma ou mais línguas para cada conteúdo do seu site.
Se você não seguir essa etapa inicial, o conteúdo já existente poderá não ter uma língua definida, fazendo com que os posts não apareçam nas consultas de seus templates. Caso tenha pulado essa configuração, você pode reexecutar o assistente ou definir as línguas em massa.
Considerações sobre os Slugs
Uma observação importante em relação ao Polylang Pro é a funcionalidade de slugs compartilhados, que permite que os posts, páginas ou termos compartilhem o mesmo slug em traduções diferentes. Contudo, essa funcionalidade atualmente não é compatível com o FacetWP. Quando slugs são compartilhados, em páginas que utilizam facetas em idiomas que não são o padrão, elas podem não retornar as opções esperadas. Por isso, utilize slugs únicos para cada tradução.
Configurando WPML para Funcionar Bem com FacetWP
Se você optar pelo WPML em vez do Polylang, sua configuração inicia de forma semelhante, exigindo a instalação do Multilingual add-on. Esse complemento suporta traduções normais e também traduções dinâmicas, como texto de espaço reservado das facetas, através do plugin String Translation do WPML.
Para garantir que o WPML funcione corretamente com o FacetWP, você deve configurar corretamente as Traduções de Tipos de Post e as Traduções de Taxonomias nas configurações do WPML. Ao acessar WPML > Configurações > Configuração de Conteúdo Multilíngue, você verá a seção “Tradução de Tipos de Post” e “Traduções de Taxonomias”. É essencial selecionar a opção “apenas mostrar itens traduzidos” para cada tipo de post e taxonomia utilizados nas listagens de post com facetas.
Caso você utilize campos personalizados do ACF como fonte de dados para suas facetas, deve-se atentar para que esses campos sejam definidos como traduzíveis e que estejam traduzidos para cada post em cada idioma. Isso garantirá que sua filtragem funcione de maneira fluida e sem problemas.
Solucionando Problemas Comuns ao Utilizar WPML
Se durante o uso do WPML você se deparar com a situação em que posts, termos ou outros dados não estão aparecendo, pode ser que sua instalação do WordPress não tenha memória suficiente. O WPML requer um mínimo de 128M de memória, e 256M é recomendado para uma performance ideal. Para gerenciar a memória do seu WordPress, você pode consultar o tutorial de performance e ajustar conforme necessário. No painel WPML > Suporte, você poderá verificar qual é o limite de memória do WordPress e compará-lo com o que está disponível no servidor.
Além disso, algumas funcionalidade de solução de problemas estão disponíveis na seção de WPML > Suporte > Solução de Problemas. Isso permite que você limpe o cache e o banco de dados do WPML, embora seja crucial ter um backup do banco de dados antes de realizar esse processo.
Traduzindo Etiquetas e Strings de UI com o FacetWP
Um dos recursos interessantes do FacetWP Polylang é a possibilidade de traduzir strings de interface do usuário e etiquetas de facetas usando o filtro facetwp_i18n
. Muitas vezes, strings textuais que aparecem na interface do seu site podem parecer estáticas e não são reconhecidas pelos plugins de tradução. Ou seja, o FacetWP precisa de uma abordagem única para gerenciar esses textos que podem ser dinâmicos.
Os nomes das facetas são diferentes das etiquetas de facetas. Enquanto os nomes servem para identificar a faceta, as etiquetas aparecem como título e na seleção do usuário. É essencial que as traduções sejam feitas corretamente para garantir que o usuário tenha uma experiência perfeita em sua navegação.
Traduzindo Opções de Facetas
As opções de facetas podem ser traduzidas de diversas maneiras, sendo a mais eficaz a tradução do conteúdo do campo fonte de dados que a faceta utiliza. Se sua faceta utiliza uma taxonomia como fonte, traduza os termos da taxonomia pelo WPML ou Polylang. Se sua faceta depende de campos personalizados criados com o ACF, utilize o plugin ACF Multilingual para fazer as traduções adequadamente.
Outra forma é utilizar os hooks facetwp_facet_display_value
ou facetwp_facet_render_args
. Esses hooks permitem que você altere rótulos específicos ou todos os rótulos de escolha da faceta para strings traduzíveis. A partir daí, é possível utilizar um plugin de tradução ou um filtro gettext para que as traduções sejam aplicadas corretamente.
Corrigindo Erros de Indexação
Se você tem o Polylang ou WPML instalados, mas não possui o Multilingual add-on, você pode ser surpreendido com o erro “A tabela de index está vazia” ao tentar reindexar. O caminho mais simples para resolver esse problema é instalar o complemento e realizar a reindexação.
Além disso, ao utilizar o FacetWP, é fundamental que os posts tenham uma linguagem definida. O FacetWP obtém a linguagem atual da página e a armazena, e em algumas situações, isso pode gerar falhas, como facetas vazias ou sem resultados após a filtragem. Se você estiver consultando um tipo de post personalizado que não tem uma linguagem definida, é necessário evitar que o FacetWP utilize essa linguagem durante a filtragem.
Para contornar isso, algumas linhas de código PHP devem ser adicionadas ao arquivo functions.php do seu tema filho, onde você define a lógica de quais templates devem ser influenciados por alterações no parâmetro de linguagem.
Lidando com a Troca de Linguagens e Cron
Quando você encontra questões em que a linguagem dos posts não está correta ou parece mudar aleatoriamente, mesmo com tudo configurado corretamente no WPML, uma alternativa é implementar um snippet no seu functions.php para forçar o WPML a manter a linguagem alinhada com a que o FacetWP está utilizando na frente do site.
Há também um conhecido problema com o uso do FacetWP, WPML e o plugin Post Types Order, quando a indexação automatizada está em operação, levando a que apenas uma única linguagem seja indexada. O melhor remédio para essa situação é desabilitar a configuração “Auto Sort” do Post Types Order, dessa forma, você poderá adicionar manualmente o parâmetro ‘orderby’ => ‘menu_order’ aos argumentos do WP_Query.
Configurando corretamente o FacetWP Polylang e resolvendo possíveis problemas ao longo do caminho, você garante que seus conteúdos multilíngues sejam geridos de maneira eficaz, permitindo uma experiência fluida e amigável para os usuários de diferentes idiomas, transformando seu site em um verdadeiro centro de informações acessível a todos.
Avaliações
Não existem opiniões ainda.