Files
claude-plugins/wordpress/skills/jetengine/references/query-listings.md
Emanuel Almeida 9404af7ac9 feat: sync all plugins, skills, agents updates
New plugins: core-tools
New skills: auto-expense, ticket-triage, design, security-check,
  aiktop-tasks, daily-digest, imap-triage, index-update, mindmap,
  notebooklm, proc-creator, tasks-overview, validate-component,
  perfex-module, report, calendar-manager
New agents: design-critic, design-generator, design-lead,
  design-prompt-architect, design-researcher, compliance-auditor,
  metabase-analyst, gitea-integration-specialist
Updated: all plugin configs, knowledge datasets, existing skills

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 17:16:32 +00:00

5.5 KiB

JetEngine — Query Builder e Listings

Query Builder Avançado

Tipos de Query e Configuração

Query Posts

Campos principais:
├── Post Type: CPT ou post/page
├── Post Status: publish / draft / any
├── Posts per page: N (ou -1 para todos)
├── Order: ASC / DESC
├── Order By: date / title / menu_order / meta_value / meta_value_num / rand
│   └── Se meta_value: seleccionar meta key
├── Meta Query (múltiplas condições):
│   ├── Field: meta key name
│   ├── Type: CHAR / NUMERIC / DATE
│   ├── Operator: = / != / > / < / BETWEEN / LIKE / IN / NOT IN / EXISTS
│   └── Value: valor ou macro (%current_user_id%)
└── Tax Query:
    ├── Taxonomy: seleccionar taxonomy
    ├── Operator: IN / NOT IN / AND
    └── Terms: valores ou relação dinâmica

Query CCT

Campos principais:
├── Content Type: seleccionar CCT
├── Items per page: N
├── Order By: qualquer coluna do CCT
├── Filters (equivalente a Meta Query):
│   ├── Field: coluna do CCT
│   ├── Operator: = / != / > / LIKE / IN
│   └── Value: valor ou macro
└── Show items only for current user: activar para perfis

Query Relação

Objetivo: listar items relacionados ao post/item actual
├── Relation: seleccionar relação criada no JetEngine
├── Get children of: post actual / ID específico / macro
└── Post Type: tipo dos items relacionados

Meta Query com Macros

Exemplo: listar projectos do utilizador logado
Meta Query:
├── Field: cliente_user_id
├── Operator: =
└── Value: %current_user_id%

Exemplo: listar items de hoje
Meta Query:
├── Field: data_evento (timestamp)
├── Type: NUMERIC
├── Operator: >=
└── Value: %current_timestamp%

Combinar Múltiplas Condições

Relation: AND (todas as condições verdadeiras)
         OR  (pelo menos uma verdadeira)

Exemplo: imóveis em Lisboa com preço < 300k
Tax Query 1: Localização = Lisboa
Meta Query 1: Preço < 300000
Relation: AND

Listing Grid — Configuração Detalhada

Criar Listing Template

JetEngine > Listings > Add New
Nome: [CPT]-listing-card
Listing From: Posts / Terms / Users / CCT
Post Type: [seleccionar]
Editar com Elementor:
├── Usar Dynamic Tags em todos os campos
├── Post Title Widget → ou Text Widget com dynamic tag
├── Meta Field → adicionar Dynamic Tag > JetEngine > Meta Field
├── Post Featured Image → ou Image Widget com dynamic tag
└── Button → URL com dynamic tag > Post URL

Listing Grid Widget — Parâmetros

Listing Item: [seleccionar template]
Use Custom Query: YES → seleccionar Query Builder
Items per page: 12 (padrão)
Not Found Text: "Sem resultados"
Loader: activar para UX com filtros
Columns: 1/2/3/4 (responsivo)
Equal Columns Height: YES para cards uniformes

Paginação

Listing Grid > Pagination:
├── Type: Default WP / Load More / Infinity Scroll
├── Load More Button Text: "Carregar mais"
├── On Scroll: activar para infinity
└── Starting From: 1

Ordenação Dinâmica (Frontend)

Adicionar widget: JetSmartFilters > Sorting
├── Ligar ao mesmo Listing Grid
└── Opções: Date ASC/DESC, Title, Price, Custom Field

Listing Map

Configuração

1. Activar Google Maps API Key:
   JetEngine > Settings > Google Maps API Key

2. Criar Meta Box com campo tipo Map no CPT
   (O utilizador define latitude/longitude via picker no editor)

3. Criar Listing Template tipo: Map Marker
   Adicionar: Post Title, info a mostrar no popup

4. Adicionar widget Listing Map ao Elementor
   ├── Listing Item: [marker template]
   ├── Use Custom Query: YES
   ├── Map Field: seleccionar campo coordenadas
   └── Map Options: zoom, altura, cluster

Mapa + Listing Grid Sincronizados

Adicionar os dois widgets na mesma página
Ligar ao mesmo Query Builder
Activar "Synchronize with Listing Grid": YES no Map
→ Ao fazer hover no card, destaca pin no mapa
→ Ao fazer hover no pin, destaca card na lista

Archive e Single Templates

Single CPT com Elementor (JetThemeCore ou Elementor Pro)

JetThemeCore > Templates > Add New > Single
Conditions: Post Type = [meu_cpt]
Editar com Elementor usando Dynamic Tags

OU

Elementor > Templates > Theme Builder > Single
Conditions: igual

Archive Page

JetThemeCore > Templates > Add New > Archive
Conditions: Post Type Archive = [meu_cpt]
Adicionar:
├── Archive Title Widget
├── Listing Grid Widget (sem Custom Query — usa WP_Query do arquivo)
└── JetSmartFilters (ligado ao mesmo archive)

JetSmartFilters — Integração Avançada

AJAX Reload vs Full Page

Provider: Listing Grid → AJAX (sem reload de página)
Provider: Archive → Pode ser AJAX ou URL based
Provider: WooCommerce → AJAX

URL Based Filters (SEO Friendly)

JetSmartFilters > Filters > Edit
├── Query Variable: activar
├── URL Based: activar
└── Clean URL: activar

Resultado: site.pt/imoveis/?cidade=Lisboa&preco=200000-400000
(Em vez de AJAX puro — melhor para SEO e partilha de URL)

Hierarquical Taxonomy Filter

Exemplo: País → Distrito → Concelho
├── Criar taxonomia com hierarquia
├── Filtro: Checkboxes com hierarquia activada
└── "Show children of selected": activar

JetEngine Query & Listings | Descomplicar® | 18-02-2026