FacetWP e Suporte Multilíngue: Transforme Seu Site em Uma Experiência Global
Com o mundo digital se tornando cada vez mais globalizado, a habilidade de oferecer conteúdo em várias línguas é crucial. O FacetWP, uma ferramenta poderosa de filtragem para sites WordPress, não fica atrás e conta com suporte multilíngue através de integração com plugins como WPML (WordPress Multilingual Plugin) e Polylang. Neste texto, vamos explorar como implementar e otimizar o suporte multilíngue no FacetWP, proporcionando uma navegação fluida e pertinente para usuários de diversas línguas.
Integrando o FacetWP com WPML e Polylang
Passageira Multilíngue: Instalação do Add-on
Para quem já utiliza o WPML ou Polylang, o primeiro passo é baixar e instalar o add-on Multilingual do FacetWP. Este passo é fundamental, pois assegura que suas traduções estão integradas de forma correta.
Funcionalidade do WPML
Para os usuários do WPML, o addon permite não apenas traduções normais, mas também traduz strings dinâmicas, como textos de espaços reservados nas facetas. Porém, preste atenção: o WPML é compatível com permalink em sub-sítios e subdiretórios, mas não funciona com strings de URL, como ?lang=fr
.
Agora vamos detalhar a configuração do WPML com o FacetWP.
Configuração do WPML para FacetWP
É crucial que as configurações de Traduções de Tipos de Post e Traduções de Taxonomias no WPML estejam devidamente ajustadas para funcionar com o FacetWP. O caminho é:
- WPML > Settings > Multilingual Content Setup
Lá, desça até as tabelas de “Post Types Translation” e “Taxonomies Translations”. Para cada tipo de post e taxonomia que você utiliza nas listagens, selecione a opção que diz “apenas mostrar itens traduzidos”.
Se você optar pela segunda opção, “usar tradução se disponível ou voltar para o idioma padrão”, seja cauteloso. Essa escolha pode gerar resultados indesejados nas facetas, como a exibição de posts e termos originais em resultados traduzidos, causando duplicidade nas facetas.
Lembre-se, o FacetWP não permite que um post pertença a múltiplas línguas ao mesmo tempo. Para uma experiência sem falhas, você deve ter um post traduzido para cada língua, e em casos onde a tradução não existe, é preciso duplicar o post na língua original.
Tradução de Campos Personalizados
Se você está usando Campos Personalizados do ACF (Advanced Custom Fields) como fonte de dados para suas facetas, não se esqueça de que esses campos devem ser habilitados para tradução, e que suas traduções sejam feitas para cada post em cada língua. Um bom passo a passo pode ser encontrado na documentação do ACF para garantir que tudo funcione perfeitamente.
Resolvendo Problemas com WPML
Se você se deparar com problemas, como posts ou termos não aparecendo, um primeiro passo útil é verificar a configuração de memória do seu WordPress. O WPML recomenda uma memória mínima de 128M, mas 256M é o ideal. É possível verificar isso em WPML > Support, onde você verá os limites de memória.
No mesmo painel, você encontrará a seção de Troubleshooting. Aqui, você pode limpar o cache do WPML e o banco de dados, mas lembre-se de fazer um backup antes de qualquer ação.
Integração com o Polylang
Caso você prefira o Polylang, o add-on do FacetWP oferece suporte similar. É importante seguir todas as etapas do assistente de configuração, que é ativado automaticamente na primeira instalação do Polylang. Caso não faça isso, seu conteúdo pode não ter um idioma definido, fazendo com que os posts não apareçam nas consultas do template.
Um ponto de atenção é sobre a funcionalidade de slug compartilhado do Polylang Pro. Essa opção, que permite que posts, páginas e termos compartilhem o mesmo slug, não é compatível com o FacetWP. Usar slugs únicos entre as traduções é a melhor prática para evitar complicações.
Otimizando Combinando SearchWP e FacetWP
Se você estiver utilizando o SearchWP em um site multilíngue, é preciso instalar a extensão específica de integração para que os resultados da busca sejam limitados ao idioma ativo da página. Sem essa configuração, pode haver uma desconexão entre facetas, suas contagens e a listagem de posts.
Traduzindo UI com FacetWP
Um aspecto muitas vezes negligenciado é a tradução da interface do usuário. Textos que aparecem na UI do seu site podem ser traduzidos através das funções __()
ou _e()
. No entanto, os strings dinâmicos que aparecem em diversos tipos de facetas são, geralmente, “in-database” strings, não reconhecidas diretamente.
A boa notícia é que existe uma maneira de traduzir essas strings usando o filtro facetwp_i18n
. Isso permite que você também traduza labels de facetas, que não devem ser confundidas com os nomes das facetas.
Traduzindo Opções de Faceta
Traduzir as opções das facetas pode ser feito através de tradução do campo de fonte de dados que a faceta utiliza, como taxonomias ou campos personalizados. Para isso, utilize as funcionalidades do WPML ou Polylang para traduzir as categorias ou termos.
Outra forma de assegurar que as opções das facetas estão traduzidas é fazê-lo manualmente, utilizando hooks como facetwp_facet_display_value
ou facetwp_facet_render_args
. Esses hooks podem transformar labels de facetas em strings traduzíveis, melhorando a experiência do usuário.
Resolvendo Erros e Problemas Comuns
Um problema comum é o erro “The index table is empty” ao tentar reindexar com Polylang ou WPML sem o add-on. A solução é simples: instale o add-on e reindexe.
Além disso, se você perceber que sua faceta não está filtrando corretamente devido a questões de idioma, há uma solução. Adicione um snippet ao seu arquivo functions.php
do tema para remover o parâmetro do idioma do AJAX de atualizações da FacetWP, garantindo que ele funcione corretamente em diferentes pages e templates.
php
add_action( 'facetwp_scripts', function() {
if ( is_post_type_archive( 'my_custom_post_type' ) ) {
// Código aqui
}
}, 100 );
Certifique-se de incluir uma tag condicional adequada para que isso não impacte páginas que você deseja filtrar de acordo com um idioma específico.
Outro problema que pode surgir é quando o WPML utiliza a língua errada em listagens de posts e facetas. Adicione um snippet ao seu functions.php
para garantir que a linguagem utilizada pelo FacetWP na front-end seja sempre priorizada.
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 );
Conclusão
O suporte multilíngue do FacetWP é uma solução poderosa para quem precisa atender a um público diversificado. Com as integrações corretas e a configuração adequada, você pode proporcionar uma experiência de navegação fluida para usuários de diferentes partes do mundo. Siga as orientações e dicas fornecidas para garantir que seu site funcione perfeitamente em múltiplas línguas, utilizando FacetWP com WPML e Polylang. Isso não apenas melhora a usabilidade do seu site, mas também amplia seu alcance. Ao final, a boa implementação pode ser a chave para o sucesso do seu projeto digital em um mundo cada vez mais conectado.
Avaliações
Não existem opiniões ainda.