Integração do FacetWP com o Pods: Um Guia Completo
A integração entre o FacetWP e o Pods é uma ótima solução para desenvolver filtros e facetas de pesquisa em seu site, utilizando campos personalizados avançados. Esse recurso é especialmente útil para desenvolvedores e usuários que buscam uma maneira mais eficiente de organizar e apresentar dados personalizados. Com a versão 1.2.3 do FacetWP, agora é possível utilizar campos personalizados do Pods também no construtor de listagens e nas facetas de ordenação. Este artigo abordará como realizar essa integração, suas funcionalidades, além de dicas adicionais para otimizar o desempenho do seu site.
Estabelecendo a Integração
Para começar, é essencial garantir que você tenha a versão 2.7.9 ou superior do Pods instalada. Uma vez que você tenha o Pods pronto, podemos seguir para as etapas de configuração dentro do FacetWP.
Criando Facetas Baseadas em Campos Personalizados do Pods
-
Acessando as Configurações:
Navegue atéConfigurações > FacetWP
. Aqui você poderá criar uma nova faceta. -
Selecionando a Fonte de Dados:
Na dropdown “Fonte de dados” da nova faceta, você verá uma seção denominada “Pods”, contendo todos os campos que você criou. É só escolher um campo que você deseja utilizar. -
Usando Campos do Pods no Construtor de Listagens:
Ao construir a listagem, vá até a aba “Exibir” e selecione o campo desejado no dropdown de seleção de itens. Na aba “Consulta”, você poderá optar pelos campos do Pods nas opções de “Ordenar por” ou “Restringir resultados por”. -
Configuração de Facetas de Ordenação:
Dentro das configurações de “Opções de Ordenação” da faceta, você também pode escolher os campos personalizados do Pods para aplicar nos critérios de ordenação.
Utilizando Templates do Pods
Outra possibilidade interessante é trabalhar com templates do Pods. Para isso:
-
Acesse
Configurações > FacetWP > Templates
:
Aqui você pode criar um novo template de listagem do FacetWP. -
Habilitando o Modo Avançado:
Na aba “Exibir”, clique em “Alterar para modo avançado”. Um exemplo de código que pode ser utilizado na caixa de código de exibição é:
“`php
template( ‘Your Pods Template Name’ ); ?>
“`
- Ajustando a Consulta:
Clique na aba “Consulta” para definir quais tipos de postagens você deseja buscar, e outras configurações relacionadas à consulta.
Campos de Termo de Taxonomia como Fonte de Dados
Com o Pods, também é possível adicionar campos personalizados a termos de taxonomia. Contudo, é importante destacar que, ao definir um campo de termo personalizado como fonte de dados, você poderá perceber que a faceta não exibirá opções.
Isso ocorre porque os campos personalizados anexados a termos de taxonomia não podem ser indexados diretamente pelo FacetWP. Entretanto, com algum código personalizado, é viável utilizar esses campos como fonte de dados. As instruções e o código personalizado para o Pods são idênticos aos recomendados para campos personalizados avançados.
Usando Campos de Relacionamento do Pods
Outra característica bacana é a possibilidade de usar campos de relacionamento do Pods como fonte de dados para facetas. Campos de relacionamento bidirecionais também funcionam. Aqui está o que você deve considerar:
-
Selecionando o Campo de Relacionamento:
Certifique-se de escolher o campo de relacionamento sob o cabeçalho “Pods” na dropdown da faceta – evite aqueles que estão sob “Campos personalizados”. -
Indexando as Postagens Relacionadas:
Se o tipo de campo relacionado for um tipo de postagem (custom post type), a faceta indexará automaticamente os IDs das postagens relacionadas comofacet_value
(visível na URL) e os títulos das postagens comofacet_display_value
(visível nas opções da faceta). -
Personalizando o Valor de Exibição:
Se preferir exibir o conteúdo de um campo personalizado da postagem relacionada em vez do título, adicione um código específico em seu arquivofunctions.php
do tema ou no plugin de snippets de código. O exemplo abaixo ilustra como fazer isso:
php
add_filter( 'facetwp_index_row', function( $params, $class ) {
if ( 'my_facet_name' === $params['facet_name'] ) {
$related_post_id = $params['facet_value'];
if ( ! empty( $related_post_id ) ) {
$params['facet_display_value'] = get_post_meta( $related_post_id, 'field_name', true );
$params['facet_value'] = $params['facet_display_value'];
} else {
$params['facet_value'] = '';
}
}
return $params;
}, 10, 2 );
Lembre-se de substituir my_facet_name
pelo nome da sua faceta e field_name
pelo nome do seu campo personalizado. Casos em que o campo retorna um array e não uma string simples podem exigir adaptações no código.
Otimização e Cache
Para aqueles que buscam melhorar a velocidade de carregamento das páginas que utilizam facetas e o Pods, vale a pena experimentar o addon Pods Alternative Cache. Este plugin funciona como uma alternativa ao cache interno do Pods e pode ser especialmente vantajoso se você estiver utilizando hospedagem como o WP Engine.
O Pods Alternative Cache foi projetado para melhorar o desempenho em sites que já usam cache de objetos e funciona em diversos provedores de hospedagem. Se você possui uma instalação grande do Pods com muitos objetos e campos, armazenar tudo no cache de objetos pode torná-lo ineficaz, fazendo com que objetos importantes sejam eliminados.
Além disso, outra dica é considerar o uso de cache parcial de páginas ao utilizar o Pods Alternative Cache, o que proporcionará uma fluidez ainda maior para suas páginas.
Registro de Novos Tipos de Postagem Personalizados
Quando você adiciona novos tipos de postagens personalizados utilizando o Pods, é crucial prestar atenção nas seguintes configurações na aba de Opções Avançadas:
-
Excluir da Busca: Não marque essa opção. O FacetWP, por padrão, indexa apenas tipos de postagem que são pesquisáveis, e, se essa opção estiver marcada, as postagens desse tipo não serão indexadas.
-
Habilitar Página de Arquivo: Ative essa opção se você pretende usar a página de arquivo WP desse tipo de postagem com facetas.
Por fim, sempre verifique o changelog do plugin para se manter informado sobre as últimas atualizações e correções, como melhorias em campos de escolha simples ou configurações de facetas.
Essa combinação entre o FacetWP e o Pods certamente proporciona uma experiência aprimorada de filtragem e busca, permitindo que você ofereça ao usuário final uma maneira intuitiva e eficiente de acessar o conteúdo do seu site. Se você ainda não testou essa integração, vale a pena explorar todas as possibilidades que ela oferece!
A implementação adequada dessa integração e a otimização do uso do Pods nas suas páginas podem transformar a maneira como os visitantes interagem com o seu site, tornando a experiência mais fluida e adaptada às suas necessidades. Aproveite todas as funcionalidades que a FacetWP Pods integration tem a oferecer e maximize o potencial da sua plataforma.
Avaliações
Não existem opiniões ainda.