FacetWP WPML: Integração de FacetWP Com WPML para Sites Multilíngues
Quando se trata de criar um site WordPress multilíngue, a integração com plugins como WPML pode fazer toda a diferença. O FacetWP é uma ferramenta poderosa que facilita a filtragem de conteúdo, mas para que funcione corretamente em um site multilíngue, é essencial configurar tudo da maneira certa. Vamos explorar como integrar o FacetWP com o WPML e garantir que tudo esteja funcionando impecavelmente.
Configuração do WPML com FacetWP
Quando você decide usar o WPML para traduzir suas postagens e conteúdos, o primeiro passo é garantir que você tenha o addon Multilingual instalado. Essa extensão não só suporta traduções comuns, mas também strings dinâmicas, como o texto de placeholder do facet. Isso significa que se você configurou seu site com FacetWP, terá que ir além da instalação simples do WPML e integrar adequadamente as traduções.
Configurações Importantes no WPML
Para otimizar a funcionalidade do FacetWP com o WPML, é crucial ajustar as configurações de “Post Types Translation” e “Taxonomies Translations”. Vá para WPML → Settings → Multilingual Content Setup. Nessa seção, você encontrará tabelas para gerenciar as traduções dos tipos de post e taxonomias.
- Selecione “Only show translated items”: Para cada tipo de post e taxonomia que você está usando nas listagens de posts com facetas, assegure-se de escolher esta opção. Isso garante que apenas os itens traduzidos apareçam, evitando a poluição do conteúdo com itens no idioma original que não têm tradução disponível.
Gerenciando Traduções
Na seção WPML → Translation Management, verifique se cada item possui uma tradução. Se você ainda não traduziu, pode usar a função de edição em massa para duplicar os itens no idioma original, isso é essencial para que FacetWP funcione como deveria. Um erro comum é optar pela configuração “use translation if available or fallback to default language”, que não é ideal para FacetWP, pois pode resultar em categorias duplicadas nos resultados de facetas.
É importante lembrar que o FacetWP determina a língua de um post durante o processo de indexação. Isso significa que, para que FacetWP funcione corretamente, você precisa ter posts traduzidos para cada língua. Se não tiver uma tradução específica disponível, duplique o post no idioma original. Para aqueles que utilizam o ACF, assegurem-se de que os campos personalizados sejam configuráveis e traduzidos adequadamente.
Resolvendo Problemas Comuns
Uma das queixas mais frequentes ao integrar WPML com FacetWP são problemas de postagem e termos que não aparecem. Para resolver isso, certifique-se de que sua hospedagem tem memória suficiente. O WPML recomenda uma configuração mínima de 128M, mas 256M é o ideal. Você pode checar a memória em WPML → Support. A memória estabelecida no WordPress não pode ultrapassar a disponível no servidor.
Caso enfrente erros de “The index table is empty” durante a reindexação, a solução é simples: instale o addon Multilingual e reindexe. Se o FacetWP filtrar posts sem idioma definido, há um parâmetro que, mesmo em casos de multiidiomas, pode causar falhas inesperadas na filtragem. Para desativar esse comportamento, o ideal é ajustar o tema do seu site.
Personalizando o Comportamento do FacetWP
Se você deseja evitar problemas em que a FacetWP use um idioma errado, é possível utilizar snippets de PHP no seu arquivo functions.php. Um exemplo de código que você pode usar para forçar a mudança de idioma é:
php
add_filter( 'facetwp_query_args', function( $args ) {
$http = FWP()->facet->http_params;
if ( isset( $http['lang'] ) ) {
do_action( 'wpml_switch_language', $http['lang'] );
}
return $args;
}, 11 );
Esse código garante que o idioma exibido nos seus posts seja o correto, evitando comportamentos estranhos, especialmente quando o administrador está usando o site em várias línguas.
Solucionando Questões em Tempestade de Cron
Um outro problema conhecido é quando se utiliza o plugin Post Types Order junto com o FacetWP e WPML. Se você se deparar com a situação em que apenas uma língua é indexada de cada vez, desabilitar o “Auto Sort” é a solução mais rápida e eficaz. Isso pode ser feito em sua configuração do Post Types Order.
Observação: Caso deseje usar cron para indexação, ao ajustar isso manualmente, adicione orderby
=> menu_order
em seus argumentos WP_Query, o que pode ajudar a resolver a confusão.
Traduzindo Strings da Interface
Um ponto que muitas vezes é esquecido é a tradução dos rótulos e strings da interface do usuário que aparecem no FacetWP. Uma maneira de fazer isso é através do hook facetwp_i18n
. É importante saber que as labels dos facets são diferentes dos nomes dos facets, e aparecem em diferentes partes da interface.
Para traduzir as escolhas do facet, o ideal é traduzir o conteúdo do campo de origem de dados utilizado pelo facet. Caso utilize ACF, existe um plugin específico para cuidar das traduções de campos personalizados. Traduzir as escolhas manualmente também é uma opção, usando hooks como facetwp_facet_display_value
.
Conclusão
Integrar FacetWP com WPML é uma maneira poderosa de melhorar a experiência do usuário em um site WordPress multilíngue. Com as configurações corretas, você garantirá que seu conteúdo esteja acessível em mais de uma língua e que seus visitantes possam filtrar a informação que procuram sem problemas de duplicidade ou falta de tradução. Ao seguir as diretrizes descritas, você estará um passo à frente na criação de um site bem estruturado e verdadeiramente multilíngue. Com essa integração eficaz, a experiência dos usuários será muito mais fluida e satisfatória em seu site, tornando-o mais acessível e amigável!
Avaliações
Não existem opiniões ainda.