O query control no Elementor define quais posts cada widget exibe, do Query ID nativo ao Query Builder do JetEngine. A documentação oficial da classe WP_Query é a base de todo filtro, e cada método do Elementor apenas a expõe de um jeito diferente. Cada um entrega um nível de controle: filtro visual, hook de query ou WP_Query manual. Escolha pelo volume de posts e pela necessidade de código.
O query control no Elementor é o conjunto de técnicas que decide quais posts, páginas ou registros aparecem dentro de um widget de listagem, em vez de aceitar o loop padrão do tema. Em sites com catalogo grande, esse controle de consulta é o que separa uma página que carrega rápido de uma que arrasta o banco. Existem quatro caminhos: o Query ID nativo do Elementor PRO, o Query Builder visual do JetEngine, o WP_Query manual e o filtro por taxonomia direto no widget. Cada um resolve um problema diferente, e a escolha errada custa horas de depuracao. Para dominar o ecossistema, vale acompanhar todos os artigos de Elementor da FULL.
Diagnóstico rápido: Qual método de query control no Elementor usar
O query control no Elementor tem quatro abordagens, e a escolha depende de quantos posts você filtra e se aceita escrever código. O Query ID nativo cobre cerca de 80% das necessidades sem plugin extra, e o Query Builder do JetEngine resolve o resto sem PHP nenhum.
Na prática, boa parte dos chamados de Listing Grid vazio que chegam ao suporte da FULL vem de um filtro aplicado na camada errada. A tabela abaixo cruza método, nível de código e cenário ideal para você decidir antes de abrir o editor.
| Método | Precisa de código? | Cenario ideal |
|---|---|---|
| Query ID nativo (Elementor PRO) | Sim, 1 hook PHP | Filtro reutilizavel em vários widgets |
| Query Builder (JetEngine) | Não, interface visual | Filtros complexos sem PHP |
| WP_Query manual | Sim, código completo | Controle total e lógica condicional |
| Filtro de taxonomia no widget | Não, painel do widget | Listagem simples por categoria |
A regra prática é simples: comece pelo painel do widget, suba para o Query ID quando precisar reaproveitar a lógica e só vá para o WP_Query manual quando a consulta tiver condicoes que a interface não alcanca.
Como configurar query control no Elementor em 4 passos
O método Query ID nativo é o coração do query control no Elementor PRO 3.x e exige apenas um campo no widget mais um hook no functions.php. Você nomeia a consulta, captura esse nome via filtro elementor/query/{id} e ajusta os argumentos do WP_Query em quatro passos.
A documentação oficial confirma o nome exato do hook; veja o guia de desenvolvimento do Elementor. Os quatro passos abaixo levam do widget vazio ao grid filtrado em poucos minutos.
Passo 1: Defina o query ID no widget posts
Abra o widget Posts ou Loop Grid, vá até a aba Query e preencha o campo Query ID com um identificador único, por exemplo posts_destaque. Esse valor é o gancho que conecta o widget ao seu código. O Elementor PRO 3.x usa esse ID para montar o nome do filtro PHP. Escreva sem espacos e sem acentos, em formato slug, porque ele entra no nome de uma função e qualquer caractere invalido quebra o hook silenciosamente.
Passo 2: Registre o hook no functions.php
No arquivo functions.php do tema filho, adicione add_action( 'elementor/query/posts_destaque', 'filtra_destaque' );. O sufixo depois da última barra é exatamente o Query ID do passo anterior. Use sempre tema filho: editar o tema pai faz a personalização sumir na primeira atualização. Esse é o erro número um nos tickets de query control no Elementor que chegam ao suporte da FULL.
Passo 3: Ajuste os argumentos da consulta
Dentro da função filtra_destaque( $query ), manipule o objeto WP_Query com $query->set( 'posts_per_page', 6 ) e $query->set( 'meta_key', 'destaque' ). Defina sempre o posts_per_page explicito: sem ele, sites com mais de 5 mil posts carregam a consulta inteira em memória antes de paginar. Esse parametro é o que evita o pico de PHP que descrevemos no bloco de metodologia adiante.
Passo 4: Valide o grid no front-end
Salve o arquivo, limpe qualquer cache de página e recarregue o front-end fora do editor. O Elementor as vezes mostra o grid certo no editor e errado no site publicado, porque o editor ignora alguns filtros de query. Se o grid vier vazio, confira se o Query ID do widget bate exatamente com o sufixo do hook. Essa divergencia de uma letra responde por boa parte dos chamados.
Query builder do JetEngine: Query control no Elementor sem código
O Query Builder do JetEngine entrega query control no Elementor sem uma linha de PHP, por uma interface visual no painel do WordPress. Você cria uma consulta nomeada em JetEngine > Query Builder, define o tipo (Posts, Terms, Users ou SQL), arrasta filtros de meta, taxonomia e data, e aponta o Listing Grid para ela.
Em sites geridos pela FULL, esse é o caminho preferido por agências que entregam para clientes sem acesso a código. O JetEngine, da Crocoblock, também expõe relações entre posts, o que o hook nativo não faz sozinho; veja como em criar relacionamentos entre posts com o JetEngine.
Um cuidado técnico recorrente: meta query com campo numerico salvo como string tende a retornar vazio sem aviso. Defina o type do filtro como NUMERIC no Query Builder e o grid volta a popular. O combo completo aparece no guia de JetEngine e Elementor para sites dinamicos.
Wp_query manual: Controle total sobre o query control no Elementor
O WP_Query manual é o nível mais profundo de query control no Elementor e entrega 100% de controle sobre a consulta, ao custo de exigir código completo no template. Você instancia new WP_Query( $args ) dentro de um shortcode ou de um template do Elementor Theme Builder e monta o loop à mão.
Esse método é o único que aceita lógica condicional pesada, como mudar a ordenação conforme o usuário logado ou combinar três meta queries com relação OR aninhada. É o caminho para regras que a interface visual não consegue expressar.
Nos testes da FULL, o WP_Query manual tende a ser a melhor escolha quando a consulta precisa de tax_query e meta_query simultaneas com mais de quatro condicoes. Para entender a anatomia da classe, o termo técnico tem verbete próprio: consulte o WP_Query no glossario. Esse controle granular exige que você escreva os custom post types e a taxonomia com cuidado, senao a query não encontra os dados.
Erros comuns que quebram o query control no Elementor
Três armadilhas respondem pela maioria dos tickets de query control no Elementor, e todas têm causa técnica clara. A primeira é o grid renderizando todos os posts mesmo com filtro ativo, porque o desenvolvedor usou o hook global pre_get_posts em vez do filtro elementor/query/{id} isolado por widget.
O filtro global afeta a consulta principal da página, mas o widget Elementor monta a própria query e ignora a alteração. A correção é mover a lógica para o hook nomeado do Elementor, que age só naquele widget.
A segunda armadilha é o Listing Grid silenciosamente vazio com JetEngine, quando a meta query compara um campo numerico salvo como string. A terceira é o cache servindo um grid antigo: depois de editar o hook, é preciso limpar o cache de página, porque o loop do WordPress já foi armazenado com o resultado anterior. Se o site estiver lento ao montar consultas pesadas, vale revisar a configuração em Elementor lento: como resolver.
Por que o query control no Elementor importa para performance
O query control no Elementor define quantos posts cada widget carrega, e isso pesa direto no tempo de renderização da página. Uma consulta sem posts_per_page explícito puxa todos os registros para a memória antes de paginar, e em catálogos grandes esse é o gargalo que trava o LiteSpeed antes mesmo do cache entrar em ação.
Na prática, vemos no suporte da FULL que o mesmo widget Listing Grid pode carregar em milissegundos ou em vários segundos só pela diferença entre uma query enxuta e uma query aberta. O filtro certo na camada certa reduz o número de linhas que o MySQL varre e enxuga o consumo de PHP por requisição.
Um grid bem filtrado, com meta_query indexada e posts_per_page limitado, é o que mantém a página leve mesmo com 5 mil posts no banco. O produto da FULL aqui é o plano com Crocoblock e Rank Math PRO, que entrega o Query Builder visual e o schema JSON-LD sem você instalar nem licenciar plugin avulso, não hospedagem. Otimizar a consulta é o passo que mais devolve velocidade por hora de trabalho.
Quando vale a pena assinar o bundle FULL
O query control no Elementor profissional quase sempre depende do JetEngine da Crocoblock e do Rank Math PRO para schema, e comprar cada licença avulsa pesa no caixa. No plano PRO da FULL, a R$849, você ativa o bundle completo com Crocoblock, Rank Math PRO, Elementor PRO e mais 14 plugins premium, distribuídos em até 10 sites.
Isso dá R$85 por site, contra centenas de reais por licença avulsa de cada plugin. A gente vê no suporte da FULL que o custo de licença solta é o que mais trava agência pequena. Ative tudo de uma vez em FULL.services/planos e tenha o Query Builder e o schema rodando no mesmo dia.
Perguntas frequentes sobre query control no Elementor
O que e query control no Elementor e para que serve?
Query control no Elementor é o conjunto de técnicas que define quais posts um widget de listagem exibe, substituindo o loop padrão do tema. Serve para montar grids filtrados por categoria, campo personalizado, autor ou data sem aceitar a consulta automática. Os quatro métodos vao do Query ID nativo do Elementor PRO 3.x ao WP_Query manual no PHP, cobrindo desde listagens simples até consultas com mais de quatro condicoes combinadas.
Por que o Listing Grid aparece vazio depois de aplicar um Query ID?
O Listing Grid vem vazio porque o Query ID do widget não bate exatamente com o sufixo do hook no functions.php, ou porque a meta query compara um campo numerico salvo como string. Confira se o identificador é identico nos dois lugares, sem espaco nem acento, e defina o type do filtro como NUMERIC quando o campo for número. Uma divergencia de uma letra já deixa o grid sem retorno, sem nenhum aviso no editor.
Qual a diferenca entre o Query ID nativo e o Query Builder do JetEngine?
O Query ID nativo exige um hook PHP no functions.php e é ideal para reaproveitar a mesma lógica em vários widgets com pouco código. O Query Builder do JetEngine, da Crocoblock, faz o mesmo por interface visual, sem PHP, e ainda suporta relacoes entre posts e consultas SQL diretas. O nativo ganha em leveza e zero dependencia; o JetEngine ganha em filtros complexos sem precisar editar arquivos do tema.
E possível filtrar posts no Elementor sem escrever código PHP?
Sim, é possível filtrar posts no Elementor sem nenhuma linha de PHP usando o Query Builder do JetEngine ou os filtros nativos do painel do widget Posts. O Query Builder permite montar meta query, tax query e ordenacao por arraste, e o painel do widget já resolve listagens simples por categoria ou tag. So consultas com lógica condicional pesada, como mudar a ordem conforme o usuário logado, ainda exigem o WP_Query manual no código.
Quando vale a pena usar query control no Elementor em vez do loop padrão?
Vale a pena usar query control no Elementor sempre que a página precisa de uma listagem diferente da consulta principal do tema, como posts em destaque, produtos de uma marca ou eventos futuros. Em sites com mais de 5 mil posts, o controle de consulta com posts_per_page explicito também evita picos de PHP que o loop padrão não controla. Para listagens identicas ao arquivo padrão do WordPress, o loop nativo já basta e dispensa qualquer configuração extra.
Próximos passos para dominar o query control no Elementor
O query control no Elementor deixa de ser um obstaculo quando você escolhe o método certo para o tamanho do projeto: Query ID nativo para reuso leve, Query Builder do JetEngine para times sem código e WP_Query manual para lógica complexa. Comece pelo método mais simples que resolve o seu caso e suba de nível só quando a interface não alcancar o filtro que você precisa. Para aprofundar com tutoriais, guias e reviews em sequencia, o guia Domine o Elementor reune o caminho completo, e o FULL Academy mantem tudo num so lugar. Com o ambiente certo, montar consultas filtradas vira rotina, não dor de cabeca.
Legenda: o campo Query ID no widget conecta o grid ao hook PHP que filtra a consulta.
















