{"id":307,"date":"2026-07-17T11:18:15","date_gmt":"2026-07-17T11:18:15","guid":{"rendered":"https:\/\/baqueiro.com.br\/loja\/?post_type=baqueiro_plugin&#038;p=307"},"modified":"2026-07-17T11:31:32","modified_gmt":"2026-07-17T11:31:32","slug":"b-baqueiro-loop-filter","status":"publish","type":"baqueiro_plugin","link":"https:\/\/baqueiro.com.br\/loja\/plugins\/b-baqueiro-loop-filter\/","title":{"rendered":"[B] Baqueiro Loop Filter"},"content":{"rendered":"<section class=\"bq-hero\">\n<h1>Filtragem de Elementor Loop Grid. Finalmente, Feito Corretamente.<\/h1>\n<p class=\"lead\">O Loop Grid do Elementor Pro \u00e9 poderoso \u2014 mas n\u00e3o possui um widget de busca ou filtro nativo. Cada solu\u00e7\u00e3o alternativa ou quebra a pagina\u00e7\u00e3o, perde o filtro ao atualizar a p\u00e1gina, ou exige um plugin separado com um painel de configura\u00e7\u00e3o de 200 op\u00e7\u00f5es. <strong>[B] Baqueiro Loop Filter<\/strong> resolve isso de forma limpa: um widget, uma configura\u00e7\u00e3o, zero sobrecarga de configura\u00e7\u00e3o.<\/p>\n<\/section>\n<section class=\"bq-problem\">\n<h2>O Problema Que Todo Desenvolvedor Elementor Enfrenta<\/h2>\n<p>Voc\u00ea cria um Loop Grid para exibir um custom post type \u2014 membros da equipe, im\u00f3veis, cursos, produtos, itens de portf\u00f3lio. O cliente pergunta: &#8220;Os usu\u00e1rios podem buscar ou filtrar por nome?&#8221; Voc\u00ea diz sim. Depois passa duas horas tentando configurar AJAX, descobrindo por que a pagina\u00e7\u00e3o quebra e explicando por que o filtro \u00e9 redefinido ao carregar a p\u00e1gina.<\/p>\n<p>As solu\u00e7\u00f5es padr\u00e3o s\u00e3o superdimensionadas. JetSmartFilters, FacetWP e ferramentas similares s\u00e3o constru\u00eddas para cen\u00e1rios complexos com m\u00faltiplos filtros. Se tudo que voc\u00ea precisa \u00e9 uma busca de texto em um ou dois campos personalizados \u2014 voc\u00ea est\u00e1 pagando e configurando dez recursos que nunca vai usar.<\/p>\n<p>E se voc\u00ea tentar construir isso voc\u00ea mesmo? Voc\u00ea estar\u00e1 lutando com os hooks de consulta do Elementor, sanitiza\u00e7\u00e3o de par\u00e2metros de URL e temporiza\u00e7\u00e3o de debounce a cada projeto. Todas. As. Vezes.<\/p>\n<\/section>\n<section class=\"bq-solution\">\n<h2>Um Widget. Uma Configura\u00e7\u00e3o. Funciona.<\/h2>\n<p><strong>[B] Baqueiro Loop Filter<\/strong> \u00e9 um widget nativo do Elementor que adiciona um campo de busca por texto a qualquer p\u00e1gina contendo um Loop Grid. Voc\u00ea configura a chave meta do campo personalizado a ser filtrado, solta o widget na p\u00e1gina, e funciona \u2014 incluindo a pagina\u00e7\u00e3o.<\/p>\n<p>O valor do filtro \u00e9 escrito na URL como um par\u00e2metro de consulta. Isso significa que o estado filtrado sobrevive \u00e0 atualiza\u00e7\u00e3o da p\u00e1gina, pode ser salvo como favorito e funciona corretamente com a pagina\u00e7\u00e3o nativa do Loop Grid do Elementor. Nenhum estado de sess\u00e3o AJAX para gerenciar. Nenhum campo oculto. Nenhum framework JavaScript.<\/p>\n<p>O widget se integra ao Controls Manager padr\u00e3o do Elementor, ent\u00e3o tipografia, cor de texto e espa\u00e7amento s\u00e3o estilizados diretamente do painel de estilo do Elementor \u2014 nenhum CSS personalizado \u00e9 necess\u00e1rio, a menos que voc\u00ea queira.<\/p>\n<\/section>\n<section class=\"bq-bullets\">\n<h2>O Que o Torna Diferente<\/h2>\n<ul>\n<li><strong>Filtra qualquer campo personalizado (postmeta) em um Loop Grid<\/strong> \u2014 defina a chave meta nas configura\u00e7\u00f5es do widget e o filtro executa uma consulta <code>LIKE<\/code> nesse campo. Correspond\u00eancias parciais funcionam prontas para uso.<\/li>\n<li><strong>Estado do filtro vive na URL<\/strong> \u2014 o valor de busca \u00e9 passado como um par\u00e2metro de consulta de URL, ent\u00e3o a pagina\u00e7\u00e3o funciona corretamente, o estado filtrado \u00e9 favorit\u00e1vel, e o bot\u00e3o voltar do navegador comporta-se como esperado.<\/li>\n<li><strong>Debounce de 800ms no keyup<\/strong> \u2014 o filtro s\u00f3 \u00e9 acionado depois que o usu\u00e1rio para de digitar, evitando recarregamentos de p\u00e1gina desnecess\u00e1rios em cada tecla pressionada.<\/li>\n<li><strong>M\u00faltiplos filtros em uma p\u00e1gina<\/strong> \u2014 cada inst\u00e2ncia de widget tem como alvo uma chave meta diferente. O hook de consulta acumula todos os filtros ativos com l\u00f3gica AND e os aplica de uma s\u00f3 vez, evitando modifica\u00e7\u00e3o duplicada da consulta.<\/li>\n<li><strong>Estilizado diretamente dentro do Elementor<\/strong> \u2014 o controle de grupo de tipografia e o controle de cor de texto s\u00e3o expostos na aba Style do widget. Nenhuma folha de estilo externa para sobrescrever.<\/li>\n<li><strong>Sem AJAX. Sem REST API. Sem configura\u00e7\u00e3o.<\/strong> \u2014 o filtro funciona por meio de um redirecionamento de URL padr\u00e3o. N\u00e3o h\u00e1 camada de requisi\u00e7\u00e3o ass\u00edncrona para configurar, depurar ou proteger.<\/li>\n<li><strong>Suporta correspond\u00eancia exata e busca LIKE<\/strong> \u2014 adicione <code>__like<\/code> \u00e0 chave meta para correspond\u00eancia parcial (padr\u00e3o), ou use a chave exata para filtragem por igualdade estrita.<\/li>\n<\/ul>\n<\/section>\n<section class=\"bq-anchor\">\n<h2>O Que Isso Substitui<\/h2>\n<p>O JetSmartFilters custa \u20ac39\/ano por site e exige a configura\u00e7\u00e3o de provedores de filtro, indexa\u00e7\u00e3o e endpoints AJAX. O FacetWP come\u00e7a em $99\/ano e tem uma curva de aprendizado completa. Uma implementa\u00e7\u00e3o personalizada leva de 3 a 5 horas de um desenvolvedor s\u00eanior por projeto, a \u20ac80\u2013\u20ac120\/hora.<\/p>\n<p><strong>[B] Baqueiro Loop Filter come\u00e7a em \u20ac29\/ano.<\/strong> Se voc\u00ea constr\u00f3i ao menos um site Elementor por ano que precisa de um filtro de Loop Grid, ele se paga na primeira hora.<\/p>\n<\/section>\n<section class=\"bq-guarantee\">\n<h2>Nossa Garantia<\/h2>\n<p>Este plugin \u00e9 escrito e mantido por um desenvolvedor s\u00eanior com mais de 18 anos de experi\u00eancia. Ele se conecta \u00e0 API oficial de consultas do Elementor \u2014 sem hacks no n\u00facleo, sem monkey-patching. Se n\u00e3o funcionar como descrito no seu site Elementor Pro, seu dinheiro ser\u00e1 devolvido.<\/p>\n<\/section>\n","protected":false},"excerpt":{"rendered":"<p>Adicione um filtro de busca por texto em tempo real a qualquer Elementor Loop Grid \u2014 filtra por campo personalizado, preserva a consulta na URL e funciona com a pagina\u00e7\u00e3o nativa do Elementor. Sem configura\u00e7\u00e3o de AJAX. Sem shortcodes. Solte o widget e prossiga.<\/p>\n","protected":false},"featured_media":314,"template":"","plugin_category":[229,230],"use_case":[231,232,233,7],"license_type":[28],"compatibility":[147,68,234,235,236],"class_list":["post-307","baqueiro_plugin","type-baqueiro_plugin","status-publish","has-post-thumbnail","hentry","plugin_category-elementor","plugin_category-search-filter","use_case-agencies","use_case-developers","use_case-directories","use_case-e-commerce","license_type-commercial","compatibility-acf","compatibility-custom-post-types","compatibility-elementor-pro","compatibility-metabox","compatibility-pods"],"_links":{"self":[{"href":"https:\/\/baqueiro.com.br\/loja\/wp-json\/wp\/v2\/baqueiro_plugin\/307","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/baqueiro.com.br\/loja\/wp-json\/wp\/v2\/baqueiro_plugin"}],"about":[{"href":"https:\/\/baqueiro.com.br\/loja\/wp-json\/wp\/v2\/types\/baqueiro_plugin"}],"version-history":[{"count":1,"href":"https:\/\/baqueiro.com.br\/loja\/wp-json\/wp\/v2\/baqueiro_plugin\/307\/revisions"}],"predecessor-version":[{"id":315,"href":"https:\/\/baqueiro.com.br\/loja\/wp-json\/wp\/v2\/baqueiro_plugin\/307\/revisions\/315"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/baqueiro.com.br\/loja\/wp-json\/wp\/v2\/media\/314"}],"wp:attachment":[{"href":"https:\/\/baqueiro.com.br\/loja\/wp-json\/wp\/v2\/media?parent=307"}],"wp:term":[{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/baqueiro.com.br\/loja\/wp-json\/wp\/v2\/plugin_category?post=307"},{"taxonomy":"use_case","embeddable":true,"href":"https:\/\/baqueiro.com.br\/loja\/wp-json\/wp\/v2\/use_case?post=307"},{"taxonomy":"license_type","embeddable":true,"href":"https:\/\/baqueiro.com.br\/loja\/wp-json\/wp\/v2\/license_type?post=307"},{"taxonomy":"compatibility","embeddable":true,"href":"https:\/\/baqueiro.com.br\/loja\/wp-json\/wp\/v2\/compatibility?post=307"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}