Per inserire dati nel database di WordPress, abbiamo imparato che è necessario connettere il database. Se non sai come fare, puoi fare riferimento all’argomento precedente intitolato Come connettersi al database di WordPress.
Dopo una connessione riuscita al database, dovremmo iniziare a popolarlo con i dati. Utilizzeremo ancora una volta l’oggetto $wpdb per apportare modifiche al database.
Nell’argomento precedente, ci siamo fermati al seguente codice:
function myFunction() {
global $wpdb;
}
Il codice sopra è necessario per creare una connessione al database.
Utilizzo di $wpdb->insert()
WordPress ha un altro modo per inserire nel database. Questo non è il solito utilizzo dell’istruzione INSERT INTO.
La sintassi di base per inserire dati nel database di WordPress è
<?php $wpdb->insert($table_name, $data); ?> $table_name
è una stringa che è il nome della tabella del database in cui inserire i dati. D’altro canto, $data è un array che verrà inserito nella tabella del database.
Ora che abbiamo imparato la sintassi di base per l’inserimento di WordPress, dovremmo avere un codice come questo:
function myFunction() { global $wpdb; $table_name = $wpdb->prefix . 'my_table'; $wpdb->insert($table_name, array('column_1' => $data_1, 'column_2' => $data_2, //altre colonne e dati (se disponibili) ...)); }
Ad esempio, ho una tabella denominata wp_myExampleTable che si presenta così:
Figura 1. Tabella appena creata denominata wp_myExampleTable.
content_id è la chiave primaria che ha un tipo di intero con incremento automatico.
content_message è un tipo varchar che ha una lunghezza di 200.
content_date ha un tipo di datetime.
Proverò a inserire alcuni dati in wp_myExampleTable usando il codice seguente:
function myFunction() { global $wpdb; $table_name = $wpdb->prefix . 'myExampleTable'; $message = 'Inserisci nel database tutorial.'; $date = date('Y-m-d H:i:s'); $wpdb->insert($table_name, array('content_id' => NULL, 'content_message' => $message, 'content_date' => $date)); }
Se il codice viene eseguito senza errori, i dati vengono inseriti correttamente nel database. La tabella wp_myExampleTable dovrebbe ora apparire così:
Figura 2. wp_myExampleTable dopo l’esecuzione dello script.
Supponendo di eseguire questo script esattamente il 19 dicembre 2017 alle 1:00 del pomeriggio. Utilizzo di $wpdb->query()
Personalmente utilizzo questo metodo per inserire poiché ho familiarità con le query SQL. Questo metodo può essere utilizzato per eseguire qualsiasi query SQL. Quindi, se hai familiarità o sei più a tuo agio nell’uso delle query SQL, questo metodo fa al caso tuo.
La sintassi di base per questo metodo sarebbe
<?php $wpdb->query($query); ?>. $query
è una variabile stringa che contiene la query SQL da eseguire. Per questo esempio, utilizzeremmo l’istruzione INSERT INTO.
Se inseriamo altri dati nella tabella wp_myExampleTable, dovremmo eseguire il codice seguente:
function mySecondFunction() { global $wpdb; $table_name = $wpdb->prefix . 'myExampleTable'; $message = 'Another method of insert.'; $date = date('Y-m-d H:i:s'); $wpdb->query("INSERT INTO $table_name(content_id, content_message, content_date) VALUES(NULL, '$message', '$date')"); }