Elementor — nascondere unità senza disponibilità
Se elenchi le Unità in un **Loop Grid di Elementor Pro e ogni scheda include [bec_quote], le unità senza disponibilità compaiono comunque in griglia con testo tipo “Nessuna disponibilità per queste date.”
Booking Engine Connector registra un Query ID Elementor personalizzato che filtra il loop prima che le schede vengano renderizzate: restano solo le unità disponibili per il contesto di ricerca URL corrente.
Requisiti
- Elementor Pro (Loop Grid e relative opzioni query).
- Unità sincronizzate con
bec_external_idnon vuoto (collegato al provider), come per i preventivi altrove.
Configurazione
-
Modifica la pagina (o il template) che contiene il Loop Grid.
-
Seleziona il widget Loop Grid.
-
Apri il pannello Query.
-
In Query ID, inserisci:
bec_available_only -
Assicurati che la sorgente query sia il post type Units (o la query che già elenca post
bec_unit). -
Aggiorna / pubblica.
Quando un visitatore apre la pagina con parametri di ricerca completi nell’URL (ad esempio dopo [bec_search]), la griglia mostra solo le unità che il provider segnala disponibili per quelle date. Le righe senza disponibilità sono omesse del tutto — niente schede vuote.
Quando l’URL non ha un contesto di ricerca completo (mancano check-in, check-out e ospiti), il plugin non applica questo filtro — la griglia si comporta come un elenco normale così le landing mostrano tutte le unità.
Note di comportamento
| Situazione | Cosa succede |
|---|---|
Contesto ricerca completo (bec_checkin, bec_checkout, bec_adults o il pattern ospiti URL del provider) | Il loop è limitato alle sole unità disponibili. |
| Contesto ricerca incompleto | Nessun filtro; tutte le unità della query possono comparire (come prima). |
| Modalità fallback impostata su uso sempre fallback contatto | Nessun filtro; tutte le unità restano visibili così il messaggio fallback può applicarsi per scheda se lo usi. |
| Nessuna unità corrispondente | Elementor mostra lo stato vuoto / “nessun risultato” della griglia (niente schede). |
Il filtro rispetta i vincoli del Loop Grid (es. filtri tassonomia): nell’insieme dei risultati restano solo i post che soddisfano la query della griglia e hanno disponibilità. Griglie molto grandi sono limitate per prestazioni (500 unità predefinite per richiesta); gli sviluppatori possono modificare con il filtro bec_elementor_availability_max_units.
I preventivi usano la stessa cache di breve durata che altrove — vedi Disponibilità e preventivi.
Correlati
- Contesto ricerca e URL — quali parametri query legge il plugin.
- bec_quote — cosa mostra lo shortcode preventivo in ogni scheda.
- Aggiungi ricerca e prenotazione alle pagine — layout minimo con ricerca + elenchi.
Personalizzare la stringa Query ID o l’elenco post richiede hook WordPress apply_filters (bec_elementor_availability_query_id, bec_elementor_available_post_ids, bec_elementor_availability_max_units) — vedi Riferimento sviluppatori.