Quando si tratta di creare un'app Web con WordPress, le sue potenti API forniscono un grande aiuto. Aggiungere o recuperare dati con l'API Options non è un grosso problema. Ma a volte abbiamo bisogno di memorizzare i dati temporanei con una scadenza.
WordPress offre un caching intuitivo tramite Transients per fare proprio questo, cioè memorizzare i dati temporanei con un tempo di scadenza. Utilizzeremo i transienti, quindi ho pensato di non dare una nuova occhiata all'API di WordPress Transients in questo articolo.
Secondo il codice WordPress:
L'API Transients è molto simile all'API Options ma con la caratteristica aggiuntiva di un tempo di scadenza, che semplifica il processo di utilizzo del wp_options tabella di database per memorizzare temporaneamente le informazioni memorizzate nella cache.
Nell'ambito di questa serie, i transienti forniscono un modo efficiente per reindirizzare gli utenti alla pagina di benvenuto quando attivano un plug-in memorizzando i dati temporanei.
In questo articolo, esploreremo il concetto dell'API Transients in WordPress e in che modo si differenzia dall'API Opzioni. Quindi, arriviamo ad esso.
I transienti ci forniscono modi per memorizzare temporaneamente le informazioni memorizzate nella cache fornendo un nome personalizzato (coppie chiave-valore) e una scadenza. Una volta scaduto il tempo definito, i transitori scadono e vengono eliminati. Questi transienti migliorano le prestazioni e accelerano le prestazioni complessive delle app Web.
Ma una domanda sorge spontanea: La data di scadenza è l'unica ragione per utilizzando l'API Transient WP?
La risposta è no! Nonostante il fatto che l'API Options abbia lo stesso scopo di archiviazione, sanificazione e recupero dei dati, potrebbe non fornire le migliori prestazioni possibili con un ampio set di dati.
Con l'aggiunta del timeframe, i transienti diventano il modo più appropriato di memorizzare temporaneamente i dati. Per garantire un numero minore di query Web, i transitori hanno la capacità di memorizzare i dati nella memoria veloce, ad es. Memcached, invece del tradizionale database di WordPress. Inoltre, i Transienti sono intrinsecamente velocizzati dalla cache dei plugin, dove le Opzioni normali non lo sono. Come menzionato nel codice:
Un plugin Memcached, ad esempio, farebbe in modo che WordPress memorizzasse i valori transitori nella memoria veloce anziché nel database. Per questo motivo, i transienti dovrebbero essere utilizzati per memorizzare tutti i dati che si prevede scadano o che possono scadere in qualsiasi momento. Anche i transienti non dovrebbero mai essere considerati nel database, dal momento che potrebbero non essere memorizzati lì.
Pertanto, ogni volta che si richiede una funzionalità che scade o viene eliminata dopo un determinato periodo di tempo, utilizzare i transienti anziché le opzioni. Maggiori informazioni in seguito.
I transienti funzionano con un'interfaccia incredibilmente semplice. Puoi eseguire tre funzioni di base con loro:
set_transient ()
funzioneget_transient ()
funzionedelete_transient ()
funzioneQueste tre operazioni di base possono aiutarti a velocizzare le prestazioni web.
Utilizzare il set_transient ()
funzione per creare o aggiornare qualsiasi transitorio. La funzione accetta tre parametri:
stringa
) Nome del transitorio. Deve contenere 172 caratteri o meno.misto
) Sono i dati che devono essere memorizzati. Può essere una variabile PHP o un oggetto array.int
) Tempo massimo fino alla scadenza in secondi. Default 0 (nessuna scadenza).Punto su cui riflettere: La data di scadenza impostata è la quantità massima di tempo per cui verrà memorizzato un transitorio. Dopo questo tempo, il transitorio viene eliminato. Ma può anche essere cancellato prima di quel momento. Poiché fa parte della cache, può essere cancellato dall'utente prima di quel momento. Quindi, pensa sempre al tempo di scadenza come la quantità massima di tempo per la vita di un passeggero con la sola garanzia che verrà cancellato dopo.
I primi due parametri sono i valore-chiave coppia e sono obbligatori, mentre il terzo parametro, che definisce il tempo massimo di scadenza, è facoltativo.
Un esempio pratico di chiamare questa funzione è il seguente:
Nell'esempio sopra, ho aggiunto 60 secondi come terzo parametro, che definisce il tempo di scadenza dopo il quale il transitorio viene eliminato. Secondo l'esempio sopra, l'oggetto _welcome_redirect_wpw
può avere solo l'età massima di 60 secondi.
In WordPress 3.5 sono state introdotte numerose costanti per esprimere facilmente il tempo. Queste costanti rendono il codice più completo e preciso. Ecco la lista:
MINUTE_IN_SECONDS = 60 (secondi) HOUR_IN_SECONDS = 60 * MINUTE_IN_SECONDS DAY_IN_SECONDS = 24 * HOUR_IN_SECONDS WEEK_IN_SECONDS = 7 * DAY_IN_SECONDS YEAR_IN_SECONDS = 365 * DAY_IN_SECONDS
Dopo aver memorizzato un valore tramite set_transient ()
funzione, è possibile recuperare il valore chiamando il get_transient ()
funzione.
Prende un singolo parametro, la chiave (cioè il nome) del transitorio $ transitoria
, e restituisce il (tipo misto
) valore del transitorio.
Il formato standard è:
Nel caso del nostro esempio, il valore viene recuperato tramite:
Abbastanza semplice? Ma cosa succederebbe se il transitorio non esistesse o fosse scaduto? Se questo è il caso, allora il get_transient ()
la funzione restituisce a falso
valore.
Ti consiglio di utilizzare l'operatore di identità (===
) quando si ottiene il valore di un transitorio per verificare se è falso o meno.
$ a === $ b | identico | VERO se $ a è uguale a $ b e sono dello stesso tipo. |
Ci possono essere situazioni in cui potresti voler eliminare i transitori prima che scadano. Il delete_transient ()
la funzione ti aiuta con esso. Il suo formato è simile al get_transient ()
funzione.
Prende un singolo parametro, la chiave (cioè il nome) del transitorio $ transitoria
, ed elimina il transitorio in modo permanente.
Ecco il formato generale:
Nel nostro caso, possiamo cancellarlo in questo modo:
I transitori possono essere utilizzati per memorizzare qualsiasi tipo di dati dal tipo più semplice di dati a un widget completo. Dal loro lancio, i transienti sono stati utilizzati in diversi progetti web. Ecco alcuni usi pratici dei transienti:
Abbiamo finito con le basi dell'API di WordPress Transients. Nei prossimi due articoli, ho intenzione di costruire una pagina di benvenuto per un plugin per WordPress. Metterò i miei crudi pensieri in qualcosa di più significativo e pratico.
Infine, puoi prendere tutti i miei corsi ed esercitazioni sulla mia pagina del profilo, e puoi seguirmi sul mio blog e / o raggiungere Twitter @mrahmadawais dove scrivo dei flussi di lavoro di sviluppo nel contesto di WordPress.
Come al solito, non esitare a lasciare qualsiasi domanda o commento qui sotto e cercherò di rispondere a ciascuno di essi.