Una guida per principianti a Titan Framework aggiungere un'opzione per il tipo di data

In questo articolo, esploreremo il Data tipo di opzione in Titan Framework: come funziona e quali parametri offre. Scopri come è possibile creare un selettore di date all'interno di un pannello di amministrazione di WordPress personalizzato, una sezione di metabox o di personalizzazione.

L'opzione del tipo di data in Titan Framework

In Titan Framework, c'è un Data tipo opzione che consente agli utenti finali di inserire le impostazioni di data e ora in modo dinamico nei loro temi. Questa opzione carica l'intero calendario e puoi impostare qualsiasi data di tua scelta. Ecco il layout di questa opzione:

Diamo un'occhiata alla lista di parametri che questa opzione supporta:

  • nome: Definisce il nome visualizzato di Data tipo opzione.
  • id: Questo parametro specifica un nome univoco che aiuta a ottenere i valori salvati.
  • disc: Visualizza una breve descrizione con il nome dell'opzione.
  • predefinito(Opzionale) Imposta il valore predefinito Data impostazioni. Questo parametro occupa uno specifico formato di valori, ad es. Y-m-d per la data, Ciao per il tempo, e Y-m-d H: i sia per data che ora.
  • Data: (Opzionale) Se falso, questa opzione non è mostrata. È impostato su vero per impostazione predefinita.
  • tempo: (Opzionale) Se vero, questa opzione apparirà. È impostato su falso per impostazione predefinita.

I parametri Data tempo siamo booleano per tipo, mentre il resto è di tipo stringa

Contenitori disponibili per l'opzione del tipo di data

Il Data l'opzione type può essere creata all'interno: 

  • Pannello di Amministrazione
  • Schede di amministrazione
  • Metabox
  • Sezione di personalizzazione del tema

Questa opzione viene creata seguendo una routine di codice simile indipendentemente dal tipo di contenitore:

  • Ottieni un'istanza unica tramite getInstance () funzione.
  • Aggiungi un'opzione tramite createOption () funzione.
  • Ottieni i valori salvati tramite getOption () funzione. 

Tuttavia, se vuoi sapere come sono creati questi contenitori con Titan Framework, puoi trovare i dettagli nei miei articoli precedenti in questa serie.

Creazione di un'opzione tipo data all'interno di un pannello di amministrazione

Esempio di dichiarazione

Innanzitutto creerò questo tipo di opzione all'interno di un pannello di amministrazione.

createOption (array ('id' => 'aa_date', // L'ID che verrà utilizzato per ottenere il valore di questa opzione 'type' => 'date', // Tipo di opzione che stiamo creando 'name' => 'My Date Option', // Nome dell'opzione che verrà visualizzata nel pannello di amministrazione 'desc' => 'Questa è la nostra opzione', // Descrizione dell'opzione che verrà visualizzata nel pannello di amministrazione 'default' = > '2015-8-15' // Valore predefinito));

UN Data l'opzione type viene creata all'interno di un pannello di amministrazione $ aa_panel via il createOption () funzione (riga # 7). Ho definito i parametri id, tipo, nome, descpredefinito. L'ID (ad es. aa_date) dovrebbe sempre essere unico. 

Puoi vedere che l'opzione ha nominato My Date Option esiste all'interno di un pannello di amministrazione Opzioni ordinate. L'impostazione della data predefinita appare anche nell'immagine sopra. 

Esempio di utilizzo

Prendiamo i valori delle opzioni salvate.

getOption ('aa_date'); // Converti la data dell'eco del valore di epoca della data ('r', $ aa_date_epoch_val); // output come data RFC 2822 - restituisce l'ora locale - Per ulteriori informazioni http://goo.gl/g9tZLi?> 

Alla riga n. 3, un'istanza viene acquisita tramite getInstance () funzione, che prende un parametro univoco, preferibilmente il nome del tema (che ho usato pulito). I valori salvati vengono recuperati tramite getOption () funzione nella riga n. 6, che registra l'ID aa_date come parametro e salva il suo valore in una nuova variabile $ aa_date_val.

L'ultima parte del codice stampa i valori sul front-end. Nella maggior parte dei casi il server può restituirci un valore d'epoca, che dovremo convertire utilizzando PHP Data() funzione. La discussione dei valori di epoca non rientra nell'ambito di questo tutorial, ma puoi leggerne di più qui.

Visualizzazione del risultato sul front-end

Ora imposterò qualsiasi valore di data demo e lo salverò. Ad esempio, scelgo 2015/08/20.

Vediamo il suo output nel front-end.

L'impostazione della data salvata è stampata correttamente, con l'ora. Come parametro per tempo è disabilitato per ora, non vengono mostrate le impostazioni dell'ora. Come si imposta il tempo? Ci arriverò tra un po '.

Creazione di un'opzione di tipo di data all'interno di una scheda di amministrazione

Esempio di dichiarazione

Ora aggiungerò questa opzione in una scheda di amministrazione, ma mostrerà entrambe Datatempo impostazioni.

createOption (array ('id' => 'aa_date_in_tab1_panel2', // ID deve essere sempre univoco. L'ID che verrà utilizzato per ottenere il valore di questa opzione 'type' => 'date', // Type of option we are creando 'name' => 'My Date Option', // Nome dell'opzione che verrà visualizzata nel pannello di amministrazione 'desc' => 'Questa è la nostra opzione', // Descrizione dell'opzione che verrà mostrata nel pannello di amministrazione 'default' => '2015-8-15 00:00', // Valore predefinito per data e ora 'time' => true // Impostazioni ora abilitate.)); 

Questa volta sto aggiungendo un Data digita l'opzione in una scheda di amministrazione $ aa_tab1. Il suo ID è aa_date_in_tab1_panel2. Guarda la lista dei parametri. Mostra tempo è impostato per vero. Ciò significa che la selezione del tempo è abilitata. Nota il formato del valore per predefinito, che è impostato per entrambi Datatempo.

Potete trovare My Date Option nel Scheda 1del pannello di amministrazione Opzioni Neat 2.

Esempio di utilizzo

Recuperiamo i valori.

getOption ('aa_date_in_tab1_panel2'); data di eco ('r', $ aa_date_in_tab1_panel2_val); // output come data RFC 2822 - restituisce l'ora locale - Per ulteriori informazioni http://goo.gl/g9tZLi?> 

Non c'è davvero nulla di nuovo in questo codice.

Visualizzazione del risultato sul front-end

Supponiamo che i miei valori di data e ora dimostrativi siano 2015/09/06 e 08:45. C'è anche un Adesso pulsante che imposta il valore temporale corrente in un clic.

Il front-end appare così:

Creazione di un'opzione di tipo data in un metabox

Esempio di dichiarazione

Scriviamo il suo codice.

createOption (array ('id' => 'aa_mb_date', // ID deve essere sempre univoco. L'ID che verrà utilizzato per ottenere il valore di questa opzione 'type' => 'date', // Type of option we are creando 'nome' => 'Seleziona Impostazioni Ora', // Nome dell'opzione che verrà visualizzata 'desc' => 'Questa è la nostra opzione', // Descrizione dell'opzione che verrà visualizzata 'default' => ' 00:00 ', // Valore predefinito per ora' date '=> false, // Impostazioni data disabilitate.' Time '=> true // Impostazioni data abilitate.)); 

Il createOption () la funzione aggiunge a Data digita l'opzione in un metabox $ aa_metbox (linea # 5). Ma questo codice viene visualizzato solo tempo impostazioni perché il Data è impostato su false. Ecco perché ho cambiato il nome predefinito valori di questa opzione di conseguenza.

Lo screenshot qui sopra mostra un selezionatore di tempo chiamato Seleziona Impostazioni Oraall'interno di un metabox. Questo appare su tutte le pagine e le schermate di post-editing.

Esempio di utilizzo

Prendiamo i valori di tempo salvati.

getOption ('aa_mb_date', get_the_ID ()); data di eco ('r', $ aa_mb_time_epoch_val); // output come data RFC 2822 - restituisce l'ora locale - Per ulteriori informazioni http://goo.gl/g9tZLi?> 

Ho appena recuperato il valore del tempo e poi convertito con il Data() funzione.

Visualizzazione del risultato sul front-end

Il mio valore temporale demo è 13: 03.

L'output viene stampato in questo modo:

Creazione di un'opzione di tipo data in una sezione di personalizzazione temi

Esempio di dichiarazione

Alla fine, aggiungerò questa opzione in una sezione di personalizzazione del tema.

createOption (array ('id' => 'aa_sec_date', // ID deve essere sempre univoco. L'ID che verrà utilizzato per ottenere il valore di questa opzione 'type' => 'date', // Type of option we are creando 'nome' => 'Seleziona Impostazioni Data / Ora', // Nome dell'opzione che verrà visualizzata 'desc' => 'Questa è la nostra opzione', // Descrizione dell'opzione che verrà visualizzata 'default' = > '2015-08-01', // Valore predefinito per data e ora 'data' => true, // Impostazioni data abilitate. 'Time' => true // Impostazioni ora abilitate.)); 

Infine, ho aggiunto questa opzione seguendo la stessa procedura in una sezione di personalizzazione del tema.

Lo screenshot lo mostra chiaramente.

Esempio di utilizzo

Prendiamo i valori delle opzioni salvate.

getOption ('aa_sec_date'); ?> 
Il valore di data / ora è

Otterrò i suoi valori salvati nel header.php file. Quindi, prima ottenere un'istanza e registrare l'ID univoco all'interno del getOption () funzione. Quindi creare un div e stampare l'output della variabile $ aa_sec_date_val via il Data() funzione (riga # 13).

Visualizzazione del risultato sul front-end

Ecco uno screenshot dei cambiamenti che avvengono.

Conclusione

In questo modo puoi aggiungere impostazioni dinamiche di data e ora nei tuoi temi e plug-in di WordPress. Questa opzione può essere utile ogni volta che si desidera che l'utente finale immetta la data e l'ora per qualsiasi motivo. 

Ad esempio, stavo creando questo tema WordPress dove volevo aggiungere un tipo di post personalizzato di Eventi (tramite un plugin). A quel tempo, ho avuto la possibilità di aggiungere uno dei plug-in eventi più comunemente usati o scrivere un piccolo plugin per me stesso. 

Quindi, invece di fornire al mio cliente un plug-in per eventi che poteva sembrare il cockpit di un aeroplano, ho usato Titan Framework. Ho usato il Data digita due volte l'opzione in due diversi metabox per le date degli eventi.

Integrare questa opzione nel progetto e ridurre l'onere di scrivere codice lungo. Nel mio prossimo articolo, esploreremo il Radio tipo di opzione in Titan Framework.

Avete domande? Pubblicale nei commenti qui sotto o raggiungi Twitter.