Como usar Query Builder para mostrar resultados de mais de uma consulta em apenas uma Listing Grid.
Adicione um metacampo à metacaixa usada na consulta
Antes de começar, certifique-se de criar uma Meta Box para usuários na guia JetEngine > Meta Boxes . Mais detalhes podem ser encontrados no tutorial Como aplicar Meta Boxes aos usuários .
Vamos adicionar o metacampo Switcher ao Meta Box para consultar os usuários por este campo posteriormente. Salve as alterações clicando no botão “Atualizar Meta Box” depois.

Além disso, certifique-se de ir para a guia Usuários no painel de administração, habilitar o Switcher para os usuários necessários na página de edição do usuário e salvá- lo.

Crie uma consulta personalizada com um conjunto de cláusulas de consulta
Em seguida, precisamos ir para JetEngine > Query Builder e clicar no botão “Adicionar Novo” .
Digite o Nome . O tipo de consulta deve ser “Consulta de usuários”, pois o metacampo Switcher foi criado para usuários.

Em seguida, abra a guia Meta Query e pressione o botão “Adicionar novo” para adicionar uma cláusula Meta Query .
Insira a chave/nome do campo switcher , selecione a opção “Equal (=)” no campo Comparar , insira o valor “true” e escolha o tipo “Char” .
O Switcher tem um valor “verdadeiro” quando habilitado e um valor “falso” quando desabilitado. Esta cláusula significa que os usuários com switcher habilitado são puxados.

Agora, você pode clicar no botão “Adicionar consulta” para salvar esta consulta personalizada.
Crie uma consulta personalizada com outro conjunto de cláusulas de consulta
A próxima consulta personalizada é para extrair usuários com o estado desabilitado do metacampo Switcher . Você pode copiar a consulta personalizada criada na etapa anterior e adicionar as alterações necessárias à consulta duplicada.

Renomeamos a nova consulta personalizada, acessamos a guia Meta Query e editamos o valor da cláusula Meta Query do Switcher para “false”. Depois disso, a consulta personalizada pode ser salva.

Crie uma consulta SQL para combinar duas consultas personalizadas
A próxima consulta personalizada combinará as duas consultas anteriores. Crie uma nova consulta, nomeie -a e selecione o tipo “Consulta SQL/AI” . Em seguida, ative a alternância do modo Avançado/AI .

No campo Consulta SQL , adicione o snippet SQL fornecido abaixo. Esta consulta SQL combina itens de duas outras consultas. Dessa forma, os usuários com o Switcher habilitado são exibidos primeiro e os usuários com o Switcher desabilitado são mostrados em segundo lugar.
SELECT ID
FROM {prefix}users
WHERE ID IN (
%query_results|135%{"fallback":"'999999999'"},
%query_results|136%{"fallback":"999999999"}
)
ORDER BY FIELD(
ID,
%query_results|135%{"fallback":"'999999999'"},
%query_results|136%{"fallback":"999999999"}
)
Observe que “135” e “136” são IDs das consultas personalizadas das quais os resultados são extraídos. Esses números precisam ser substituídos pelos IDs das consultas personalizadas do seu site.

O ID da consulta personalizada pode ser encontrado no URL da página Editar consulta .

O substituto tem o número ‘999999999’ porque deve ser um número exclusivo que não é reservado por alguma instância, como o ID do post. Se quiser usar um substituto com um valor de string, você também precisará adicionar aspas simples.
Agora a consulta SQL está concluída e você pode clicar no botão “Adicionar/Atualizar Consulta” .
Consulta SQL para postagens
Vamos fornecer um exemplo de snippet SQL caso as postagens sejam consultadas em vez dos usuários.
Nesse caso, você precisa escrever a tabela “postagens” na consulta personalizada em vez de “usuários”.
SELECT ID
FROM {prefix}posts
WHERE ID IN (
%query_results|135%{"fallback":"'999999999'"},
%query_results|136%{"fallback":"999999999"}
)
ORDER BY FIELD(
ID,
%query_results|135%{"fallback":"'999999999'"},
%query_results|136%{"fallback":"999999999"}
)
Crie uma consulta personalizada para extrair resultados combinados da consulta SQL
Esta etapa é necessária se o Listing Grid que usa esta consulta personalizada precisar ser filtrado pelo plugin JetSmartFilters .
Nesta fase, precisamos criar outra consulta personalizada no Query Builder .
Uma Listing Grid que usa a consulta personalizada SQL Avançada não pode ser filtrada, por isso é importante criar outra consulta de usuário, postagens, etc. que extraia todos os itens combinados da consulta SQL Avançada.
Portanto, adicione uma nova consulta, nomeie-a e selecione o tipo “Consulta de usuários” .

Em seguida, prossiga para a guia Incluir/Excluir , clique no ícone da pilha de moedas e adicione a macro “Resultados da consulta” ao campo Incluir .
Para a macro “Resultados da Consulta”, selecione a Consulta SQL Avançada criada na etapa anterior. Em seguida, escolha a opção “Lista de campos selecionados do objeto item” no campo Retorno e escreva “ID” na lista de campos separados por vírgula . Em seguida, pressione o botão “Aplicar” .
Agora, esta consulta de usuário possui uma lista de usuários combinados na consulta SQL.

Em seguida, vá para a guia Misc e escolha a opção “Pela lista incluída de IDs de usuário (requer o parâmetro Incluir)” no campo Ordenar por . Esta ordem garantirá que os usuários com o metacampo Switcher habilitado sejam exibidos primeiro e os usuários com o Switcher desabilitado sejam mostrados depois.

Agora, você pode clicar no botão “Adicionar/Atualizar Consulta” .
Crie uma listagem para usuários
Vá para JetEngine> Listagens e clique no botão “Adicionar novo” . Selecione “Usuários” como fonte da listagem , insira o nome do item da listagem e escolha a visualização da listagem “Elementor” ou “Blocos (Gutenberg)” . Em seguida, clique no botão “Criar item de listagem” .

Na página de edição do modelo de listagem, você pode adicionar o widget ou bloco de campo dinâmico para mostrar os dados do usuário. Adicionamos o Campo Dinâmico para exibir algum texto com base no estado do metacampo Switcher . Selecione “Meta Data” como Source e escolha o switcher Meta Field na Meta Box do usuário.
Para mostrar o texto diferente com base no valor do metacampo Switcher , ative a alternância de saída do campo Filtrar . Selecione os “Valores do campo Switcher” como retorno de chamada .

Em seguida, adicione um texto necessário para cada estado nos campos Texto se habilitado e Texto desabilitado . No nosso caso, a mensagem “Este usuário foi verificado!” o texto aparecerá quando o usuário tiver o switcher no estado ativado e a mensagem ‘Este usuário não foi verificado’. o texto será mostrado quando o usuário tiver o switcher no estado desabilitado.

Neste ponto, o modelo de listagem pode ser salvo clicando no botão “Atualizar” .
Produza a listagem no front-end
Agora, você pode adicionar o widget ou bloco Listing Grid à página necessária e selecionar o modelo de listagem para usuários que acabou de ser criado na guia Configurações gerais .

Abra a guia Consulta Personalizada , ative o botão Usar Consulta Personalizada e selecione a Consulta Personalizada criada por último para manter os Usuários na ordem desejada.

Vamos salvar a página clicando no botão “Atualizar” e verificar o resultado no front end.
Podemos ver que o resultado desejado foi alcançado. Primeiramente são exibidos os usuários com o switcher habilitado e, em seguida, os usuários com o switcher desabilitado.

Isso é tudo. Agora você sabe como combinar várias consultas personalizadas em uma para organizar um pedido avançado no widget Listing Grid ou bloquear com o plugin JetEngine WordPress.