Caching delle query WordPress

← 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.