Como criar filtros com fonte do Query Builder

Criar consulta personalizada

Vá para WordPress Dashboard > JetEngine > Query Builder e crie uma nova consulta clicando no botão “ Adicionar Novo ”. 

Escreva o nome da consulta personalizada e selecione o tipo de consulta necessário . 

No exemplo fornecido, queremos exibir uma lista de categorias de produtos ordenadas por um nome de termo para substituir a ordem padrão por data de criação. 

Isso significa que uma consulta personalizada pode ser usada se a ordem dos itens precisar ser alterada.

Portanto, é selecionado um tipo “Consulta de Termos”. Em seguida, a opção “Categorias de produtos” é escolhida como Taxonomia . 

No campo Ordenar por , escolhemos a opção “Nome” e definimos a ordem crescente “Do menor para o maior valor” .

configurações de consulta de termosNeste ponto, a consulta pode ser salva para ser posteriormente utilizada no filtro. Para isso, pressione o botão “ Adicionar Consulta ”.

Antes de ir para as configurações de filtro, vamos verificar outro exemplo de uso da consulta personalizada do Query Builder como fonte de filtro.

Neste exemplo, mostraremos o processo de exibição da lista de usuários como opções de filtro para filtrar os Registros do Formulário . A ideia é selecionar um usuário no filtro e mostrar seus envios relativos no widget Listing Grid
. A configuração seria a seguinte: um formulário criado com o plugin JetFormBuilder coleta envios por meio da ação pós-envio Save Form Record .

salvar registro do formulário após ação de envioO formulário também precisa de um campo Oculto que coleta o ID do usuário que envia o formulário. Com base neste campo será realizada a filtragem, por isso é necessária.

Portanto, selecionamos a opção “ID do usuário atual” como valor do campo .

campo oculto do ID do usuário atualA seguir, criamos uma consulta personalizada no Query Builder para gerar os registros do formulário necessário. O tipo de consulta “JetFormBuilder Records” deve ser selecionado adequadamente.

Na seção Consulta de registros do JetFormbuilder , deve ser selecionado o formulário do qual os envios precisam ser filtrados.

jetformbuilder registra configurações de consultaDepois disso, criamos um modelo de listagem para esta consulta personalizada acessando WordPress Dashboard > JetEngine > Listings e clicando no botão “ Adicionar novo ”.

Este modelo de listagem permite mostrar a lista de registros do formulário usando o widget  Listing Grid .

Na seção Listing Settings , “Query Builder” deve ser selecionado como Listing Source . Em seguida, especificamos a consulta construída.

listando configurações no elementorNo modelo de listagem, você pode apresentar os valores dos campos que um usuário preencheu durante o envio da postagem.

O campo do registro do formulário que contém os dados enviados por meio de um formulário frontend é ‘jfb_fields’, como pode ser visto nos resultados de visualização da consulta personalizada. 

Este campo inclui uma série de campos e seus valores que foram preenchidos no envio da postagem. Precisamos entender isso ao gerar os campos no modelo de listagem.

visualizar configurações no construtor de consultasPortanto, para mostrar um valor de ‘text_field’ de um formulário, as seguintes configurações foram aplicadas ao widget Campo Dinâmico .

campo do objeto personalizado/campo Meta/chave do repetidor está definido como ‘jfb_fields’.

Em seguida, ativamos uma alternância de saída do campo Filtro e aplicamos um retorno de chamada ‘Obter elemento filho do objeto/array’ para obter um campo ‘text_field’. Por favor, utilize-o como referência para mostrar outros campos do registro do formulário no modelo de listagem. 

Então o modelo de listagem para registros de formulário pode ser considerado completo.

configurações de conteúdo de campo dinâmicoNovamente podemos passar para WordPress Dashboard > JetEngine > Query Builder para criar outra consulta personalizada que lista os usuários em um filtro.  

Respectivamente, um tipo de consulta “Consulta de usuários” deve ser escolhido.

Neste exemplo, queremos mostrar apenas os usuários com a função de usuário “Editor”, especificada na configuração Função da guia Função do usuário . 

Se não houver necessidade de adicionar outras cláusulas de consulta, salvemos a consulta e criemos um filtro.

configurações de consulta de usuários

Criar filtro com fonte do Query Builder

Vá para Painel do WordPress > JetSmartFilters > Adicionar novo .

Primeiramente criaremos um filtro para uma Consulta de Termos que foi feita no início deste tutorial.

Selecione um tipo de filtro : “Rádio”, “Caixa de seleção” ou “Selecionar”. Na fonte de dados , você pode ver uma fonte “JetEngine Query Builder”, da qual precisamos.

” alt=”fonte de dados de filtro do construtor de consultas jetengine” data-src=”https://crocoblock.com/knowledge-base/wp-content/uploads/2023/05/jetengine-query-builder-filter-data-source-2x.png” />Após adicionar a fonte, três novos campos aparecem. 

No campo Selecionar Consulta , uma consulta personalizada do Query Builder deve ser escolhida a partir da qual as opções de filtro serão preenchidas. 

No caso descrito, é adicionada uma consulta de Termos criada anteriormente com a ordem dos termos.

configurações de fonte de dadosPropriedade da qual obter Valor define a propriedade com base na qual a filtragem é executada. 

De acordo com a consulta utilizada, o ID do termo é o valor. Você pode voltar para a consulta personalizada no Query Builder para ver como a propriedade ID do termo é nomeada.

ID e nome do termo na visualizaçãopropriedade da qual obter o rótulo é o que o usuário vê no front-end como o rótulo de uma opção. Conforme o caso descrito, o campo que contém o nome do termo é ‘nome’.

Por último, a variável de consulta deve conter a taxonomia pela qual filtrar.

campo variável de consultaPode ser selecionado pressionando o botão “ Tag Dinâmico ” próximo ao campo. Em seguida, clique em “ Taxonomia ” e escolha a opção “ Categorias de produtos ”.

botão de tags dinâmicasAgora, o filtro pode ser salvo.

E vamos completar o conhecimento do Query Builder como fonte de filtro criando um filtro baseado na consulta personalizada para os usuários.

Crie outro filtro. Que seja do Tipo “Rádio” . A fonte de dados é “JetEngine Query Builder”. O campo Selecionar consulta representa a consulta do usuário criada anteriormente neste tutorial.

construtor de consulta de campo de rádiopropriedade da qual obter o valor é o id de um usuário, que, de acordo com a visualização da consulta personalizada, é denominado “ID”.

id na visualização da consultapropriedade da qual obter o rótulo é “display_name”.

nome de exibição na visualização da consultaA configuração do filtro está concluída, então podemos prosseguir para a próxima etapa.

Adicionar filtro à página ou modelo

Vamos ver o filtro em ação. Abra uma página ou modelo em um editor de sua preferência.

Adicione um widget Filtro de caixas de seleção à área de edição. Se você criou anteriormente um tipo de filtro Select ou Radio , adicione o widget de acordo.

Também adicionamos um widget Listing Grid e o selecionamos como um provedor de filtro escolhendo a opção “JetEngine” no campo Este filtro para das configurações do filtro de caixas de seleção .

caixas de seleção filtram configurações no elementorÉ hora de verificar o resultado no front-end. 

As opções estão ordenadas em ordem alfabética. O filtro funciona e os produtos são filtrados de acordo com a categoria de produto selecionada.

filtro de consulta no front endPara entender a diferença com e sem o Query Builder como fonte, aqui está o filtro baseado diretamente na Taxonomia de “Categorias de Produtos” . O pedido personalizado não é mais preservado.

filtro de taxonomia no front-endAqui está um Filtro de Rádio baseado na Consulta do Usuário que filtra a Listagem de Registros do Formulário .

Aviso

Certifique-se de adicionar um ID de consulta ao widget de filtro.

configurações de filtro de rádio no elementor

Aviso

Além disso, especifique o ID no widget Listing Grid no campo CSS ID da guia Configurações avançadas . Deve ser igual ao campo Query ID da consulta personalizada para registros de formulário.

listando configurações avançadas da gradeConfira o resultado final no front-end.

Os registros do formulário são filtrados pelos usuários que os enviaram.

registros de formulário filtradosAlém disso, os dados são exibidos corretamente no widget Listing Grid .

valores dos campos do formulário

Isso é tudo; agora você sabe como criar filtros com o Query Builder como fonte usando JetEngine e JetSmartFilters em seu site WordPress.

Índice