# 🏨 Hotel Addon

Dalla versione 5.1.0 è stato introddoto nello sviluppo di DiviChild un addon utili per la creazione di siti per Hotel.
Il sistema si basa su Metabox.io, che pertanto nel momento in cui si intende usare questa parte di codice diviene una dipendenza necessaria, e al momento è da condiderasi come un sistema semi indipendente dal progetto DiviChild. Questo significa che il pacchetto hotel non sarà introdotto nella distibuzione ufficiale di DiviChild, ovvero il developer pack, ma rimmarrà comunque all'interno della parte di sviluppo del repository del progetto.

Per questa ragione è sempre più importante iniziare i lavori partendo dal developer pack e non dalla cartella di sviluppo del progetto DiviChild!

# Installazione

Questo applicativo è da considerarsi una sorta di plugin, in teoria dovrebbe esserlo ma non lo è, anche se forse lo sarà ma finché così non sarà, sarà bene seguire questa procedura per renderlo operativo 😉

  • Scaricare il pacchetto release da questo link
  • Decomprimere il pacchetto e copiare la cartella hotel all'interno della cartella includes/ del DiviChild nel quale state lavorando.
  • Aprire il file includes/functions_custom.php e aggiungere la seguente riga di codice require_once 'hotel/hotel.php';

# Come funziona

Il sistema crea due custom post: "room" e "offer" e dei custom field ad essi associati. Il sistema crea inoltre due custom taxonomy associate ai rispettivi post. Anche per le due tassonomie vengono creati dei custom field appositi.

Il sistema crea anche una pagina di settings per gestire alcune opzioni globali e alcune opzioni relative a camere e offerte.

Tutti i custom field, compresi quelli relativi alla pagina di settings, sono definiti in file php contenuti nella cartella hotel/custom-fields/

Al momento non è presente una gestione dinamica dei custom field, pertanto, se fosse necessario modificarli e/o angiungerne o rimuoverne alcuni, sarà necessario modificare i relativi file.

Anche i custom post e le custom taxonomy sono definiti attraverso file php contenuti in apposite cartelle: hotel/custom-posts/ e hotel/custom-taxonomies/. Anche in questo caso, a fronte dell'eventuale necessità di modifica, sarà necessario intervenire in questi file.

# Entry point

L'entry point dell'applicativo è ovviamente il file hotel/hotel.php nel quale sono presenti tutte le definition e gli include dei file.

# Sistema di templating

In ottica di un futuro upgrade in vero e proprio plugin, il sistema prevede una propria gestione dei file di templating che può essere overridata o addirittura disabilitata.

Tutti i template dell'app sono contenuti nella cartella hotel/templates/.

# Override

Per un semplice override dei template basterà creare una cartella nominata hotel nella root del tema e mantenere al suo interno la stessa struttura della cartella originale hotel/templates/.

# Disabiliare il templating

Il templating dell'app può essere completamente disabilitato attraverso l'apposita opzione nella pagina di settings.

Qualora il templating venisse disabilitato, si potrà utilizzare il normale templating di WordPress, seguendo la normale template hyerarchy. Con il templating dell'app disabilitato , il templating delle pagine single, degli archivi di post e di tassonomia, possono anche essere gestiti attraverso il template builder di Divi.