Passa al contenuto principale

Riferimento post meta (bec_unit)

Riferimento sviluppatori: per sviluppatori di temi e plugin.

Il post meta è registrato con register_post_meta (visibile REST dove indicato, sanificato). Usa il prefisso bec_ per campi custom o ACF così restano in namespace coerente con questo plugin.

Post meta (bec_unit)

Meta keyTipoNote
bec_external_idstringIdentificatore sistema esterno.
bec_provider_slugstringChiave provider (es. slug integrazione).
bec_last_sync_atstringDatetime ISO 8601 o vuoto.
bec_sync_enabledbooleanDefault true; controlla se la sync gira per questa unità.
bec_sync_payloadstringStringa JSON: ultima riga unità remota sincronizzata (dopo bec_sync_remote_unit). Mostrata nel meta box admin “Booking engine — synced data”; non esposta via REST di default.
bec_sync_gallery_source_hashstringImpronta SHA-256 dell’elenco ordinato di URL remoti (legacy + migrazione; ancora aggiornata alla sync; vedi Campi canonici unità).
bec_sync_gallery_image_set_hashstringSHA-256 dell’elenco ordinato di chiavi immagine (set invariato se cambia solo l’ordine).
bec_sync_gallery_image_order_hashstringSHA-256 dell’elenco ordinato di chiavi immagine in ordine di visualizzazione.
Meta keyNote
_bec_source_urlURL remota usata all’ultima sync del file.
_bec_gallery_unit_idID post bec_unit proprietario.
bec_gallery_image_keyId stabile per questa immagine nell’unità.
bec_gallery_file_hashSHA-256 del file locale per deduplica.

Opzioni (get_option)

OpzioneScopo
bec_sync_gallery_image_prefixPrefisso ai nomi file gallery generati automaticamente (default vuoto).
bec_sync_gallery_image_suffixTra slug nome unità e indice -NN (default vuoto).
bec_unit_permalink_slugSegmento percorso per singole unità (sanificato); vuoto ⇒ slug interno predefinito bec_unit.
bec_unit_url_structureSchema URL singola unità: base, base_category, o category_only.
bec_unit_has_archiveSe il CPT unità espone archivio pubblico sulla stessa base.
bec_unit_category_enabledSe la tassonomia bec_unit_category ha UI admin e rewrite pubblici attivi.
bec_unit_category_permalink_slugBase URL termini categoria (vuoto ⇒ default unit-category).
bec_unit_category_url_structureSchema URL archivio categoria: category_base, unit_base, o bare.
bec_unit_filters_amenity_optionsMappa JSON chiavi servizio → { enabled, order, label? } curata in Listing Filters.
bec_styling_filters_extra_cssCSS extra per [bec_unit_filters] (admin Design).
bec_kross_sync_booking_enginesSlug be_enabled selezionati per filtrare la sync completa (lista vuota ⇒ includi tutto).
bec_kross_available_booking_enginesUnione cache degli slug visti dai tipi camera Kross (checklist admin).
bec_sync_interval_hoursIntervallo WP-Cron (ore).
bec_sync_last_run_atTimestamp testuale ultima sync completa riuscita (display admin).
bec_db_versionVersione migrazioni DB per tabelle custom (es. {prefix}bec_api_log).

Durante la sync manuale a batch il plugin può scrivere opzioni bec_sync_mbatch_{userId}_{runId} di breve durata — considerale interne; non eliminare mentre un run è attivo.

Meta termine (bec_unit_category)

Registrati sui termini categoria quando la tassonomia è abilitata:

Meta termineNote
bec_external_idId categoria lato provider (chiave con bec_provider_slug).
bec_provider_sluges. kross.
bec_category_namesJSON oggetto: locale a due lettere ⇒ etichetta (titoli archivio usano Multilingual::filteredSiteLocale('unit_category')).
bec_category_normalizedSnapshot JSON del descrittore all’ultima sync.
bec_last_sync_atcurrent_time('mysql') quando il termine è stato aggiornato dalla sync.

Guida utente: Categorie unità.

Le richieste HTTP in uscita sono loggate in {prefix}bec_api_log (vedi Usare l’API log). Schema creato dalla migrazione CreateApiLogTable; versione tracciata in bec_db_version.

Campi core unità (bec_core_*)

Semantica canonica condivisi tra provider (nome, indirizzo, geo, occupazione, orari, locali, bagni, descrizione, m², servizi, gallery come ID allegati, CIN come bec_core_cin). Compilati da ProviderInterface::extractCoreUnitFields() alla sync; modificabili in Unit — core fields (canonical). Vedi Campi canonici unità.

Campi mappati opzionali (per provider / client)

Ogni provider può dichiarare UnitSyncFieldDefinition extra per meta specifici del sito. Alla sync i valori sono scritti e modificabili in Booking engine — unit fields (Kross di default nessuno).

  • Estendi — filtro bec_unit_sync_field_definitions (definizioni, slug provider) oppure implementa ProviderInterface::getUnitSyncFieldDefinitions().
  • Slug analizzati — filtro bec_unit_sync_provider_slugs (default: kross).
  • Salta sovrascrittura sync — filtro bec_sync_apply_mapped_unit_fields (default true).

ACF

Se aggiungi Advanced Custom Fields (o simile), preferisci nomi/chiavi sotto il prefisso bec_ per evitare collisioni con core WordPress, altri plugin e queste chiavi registrate.