Caching delle query WordPress

Versione del 7 set 2023 alle 15:10 di Andrea (discussione | contributi) (Creata pagina con "← ritorno a WordPress Category:WordPress Se un plugin utilizza il database con tabelle personalizzate (come ad esempio un'estensione che gestisce le pr...")
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

← ritorno a WordPress

Se un plugin utilizza il database con tabelle personalizzate (come ad esempio un'estensione che gestisce le prenotazioni online per un sito) tramite la classe wpdb, una buona regola è quella di mettere in cache quelle query per cui non è sempre necessario avere un refresh immediato.

Il caching delle query può essere implementato con le Transients API di WordPress:

global $wpdb;
$results = get_transient( ‘prenotazioni’ );
if( $results ) {
   // loop sui risultati
} else {
   $res = $wpdb->get_results( “SELECT * FROM prenotazioni” );
   set_transient( ‘prenotazioni’, $res, HOUR_IN_SECONDS );
}

In questo caso abbiamo messo in cache i risultati della query per 1 ora. Quando il tempo è scaduto, il valore della chiave prenotazioni torna ad essere false ed il processo si ripete con dei nuovi risultati.