WordPress: gestire le operazioni sul database nel modo corretto

WordPress: gestire le operazioni sul database nel modo corretto

L'oggetto $wpdb, che è in realtà un'istanza della classe di WordPress relativa, non è in genere sfruttato come dovrebbe. I metodi di questa classe non consentono solo di reperire risultati dal database o di eseguire query dirette, ma permettono anche di automatizzare diverse altre operazioni.

Cancellazione dei dati

Molti plugin per cancellare dati ricorrono a query dirette:


global $wpdb;

$wpdb->query( 'DELETE FROM tabella WHERE id_tabella = 1' );

In realtà esiste un metodo apposito per questa operazione:


global $wpdb;

$table = 'tabella';
$where = array( 'id_tabella' => 1 );
$format = array( '%d' );

$wpdb->delete( $table, $where, $format );

Il metodo delete() accetta come primo parametro il nome della tabella, come secondo parametro la clausola WHERE sotto forma di array associativo di condizioni e come terzo parametro il formato atteso per i dati usati nella clausola WHERE.

Inserimento dei dati

Anche per questa operazione esiste un metodo apposito:


global $wpdb;

$table = 'tabella';

$query_data = array(
	'nome' => 'Gabriele',
	'cognome' => 'Romanato',
	'professione' => 'Sviluppatore'
);

$format = array( '%s', '%s', '%s' );
			
$wpdb->insert( $table, $query_data, $format );

Il metodo insert() accetta come primo parametro il nome della tabella, come secondo parametro un array associativo in cui le chiavi sono i nomi delle colonne del database e i valori sono i valori da inserire e come terzo parametro il formato dei valori inseriti in forma di array lineare.

Aggiornamento dei dati

Ecco il modo corretto di eseguire una query UPDATE:


global $wpdb;

$table = 'tabella';

$query_data = array(
	'telefono' => '1234',
	'mobile' => '0123'
)
$where = array( 'id_profilo' => 12 );

$format = array( '%s', '%s' );

$where_format = array( '%d' );
			
$wpdb->update( $table, $query_data, $where, $format, $where_format );

Il primo parametro del metodo update() è il nome della tabella, il secondo parametro è un array associativo in cui le chiavi sono i nomi delle colonne del database e i valori sono i valori da aggiornare, il terzo parametro è la clausola WHERE sotto forma di array associativo, il quarto parametro è un array costituito dal formato dei nuovi dati inseriti ed il quinto parametro è il formato della clausola WHERE sotto forma di array.

Torna su