WordPress.org

Ready to get started?Download WordPress

Codex

it:Riferimento classi/wpdb

Contents

Interfacciarsi con il Database

WordPress fornisce una classe di funzioni per tutte le operazioni di manipolazione del database. La classe è denominata wpdb e si basa in parte sulla classe ezSQL scritta e manutenuta da Justin Vincent.

Utilizzare l'Oggetto $wpdb

I metodi della classe wpdb() non devono mai venir richiamati direttamente.

WordPress fornisce una variabile globale, $wpdb, che è una istanza della classe ed è cgià impostata per parlare con il database di WordPress. Utilizzate sempre la variabile globale $wpdb. (Ricordatevi di globalizzare $wpdb prima di utilizzarla in qualsiasi funzione personalizzata.)

L'oggetto $wpdb può essere utilizzato per leggere dati da qualsiasi tabella del database di WordPress (anche dalle tabelle personalizzate create dai plugin), e non solo le tabelle standard che WordPress ha creato. Ad esempio per fare la SELECT di alcune informazioni da una tabella di nome "mytable", potete eseguire il seguente codice.

$myrows = $wpdb->get_results( "SELECT id, name FROM mytable" );

L'oggetto $wpdb può dialogare con qualsiasi numero di tabelle ma con un solo database: il database di WordPress. Neli rari casi in cui sia necessario collegarsi ad un altro database, dovrete istanziare un vostro oggetto dalla classe wpdb con gli opportuni dettagli di connessione. Per impostazioni estremamente complicate con molti database, considerate l'opportunità di utilizzare hyperdb.

Eseguire una query generica sul database

La funzione query permette di eseguire qualsiasi query SQL sul database di WordPress. Tuttavia è meglio utilizzare una funzione più specifica (si veda nel seguito) per le query di SELECT.

 <?php $wpdb->query('query'); ?> 

query 
(stringa) La query SQL che si desidera eseguire.

La funzione restituisce un intero corrispondente al numero di righe interessate/selezionate. Se si verifica un errore MySQL, la funzione restituirà FALSE. (Nota: poichè possono venir restituiti sia 0 che FALSE, assicurarsi di utilizzare l'operatore di comparazione corretto: uguaglianza == verso identicità ===).

Nota: come per tutte le funzioni di questa classe che eseguono query SQL, dovrete effettuare l'escaping SQL di tutti gli input (e.g., esc_sql($stringa_dati_immessa_da_utente) oppure $wpdb->prepare( 'query' , valore_parametro[, valore_parametro ... ] );). Si veda più sotto la sezione intitolata Proteggere le query dagli attacchi di SQL injection.

Esempi

Cancellare la metakey 'chiave_test' ed ils uo valore dall'Articolo numero 13. (Aggiungeremo il metodo 'prepare' per assicurarci di non avere a che fare con operazioni illegali o caratteri non permessi):

$wpdb->query( 
	$wpdb->prepare( 
		"
                DELETE FROM $wpdb->postmeta
		 WHERE post_id = %d
		 AND meta_key = %s
		",
	        13, 'chiave_test' 
        )
);

Codice eseguito in WordPress da delete_post_meta().

Impostare la Pagina 7 come padre della Pagina 15.

$wpdb->query(
	"
	UPDATE $wpdb->posts 
	SET post_parent = 7
	WHERE ID = 15 
		AND post_status = 'static'
	"
);

SELECT di una variabile

La funzione get_var restituisce una singola variabile dal database. TUttavia anche se viene restituita una sola variabile, l'intero risultato della query viene messo in cache per utilizzi successivi. Restituisce NULL quando non vengono trovati risultati.

 <?php $wpdb->get_var'query'column_offsetrow_offset ); ?> 

query 
(stringa) La query che si desidera eseguire. Impostando questo paramentro a null verrà restituita la variabile indicata dai risultati presenti in cache dalal query precedente.
column_offset 
(intero) la colonna desiderata (0 per la prima). Default a 0.
row_offset 
(intero) The desired row (0 per la prima). Default a 0.

Esempi

Estrae e visualizza il numero di utenti.

<?php
$conteggio_utenti = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->users" );
echo "<p>Il conteggio utenti è {$conteggio_utenti}</p>";
?>

Estrae e visualizza la somma del valore di un Campo personalizzato.

<?php
// imposta meta_key con il valore appropriato
$meta_key = 'chilometri';
$totale_chilometri= $wpdb->get_var( $wpdb->prepare( 
	"
		SELECT sum(meta_value) 
		FROM $wpdb->postmeta 
		WHERE meta_key = %s
	", 
	$meta_key
) );
echo "<p>Il totale chilometri è {$totale_chilometri}</p>";
?> 

SELECT di una riga

Per recuperare una intera riga da una query, utilizzare get_row. La funzione può restituire la riga come un oggetto, un array associativo o come un array con indice numerico. Se viene restituita più di una riga, verrà restituita solo la riga specificata dalla funzione, ma tutte le righe verranno messe in cache per utilizzi successivi. Restituisce NULL se non vengono trovati risultati, tenete presente questo quando utilizzerete il valore di ritorno come argomento di altre funzioni, si veda gli esempi successivi.

 <?php $wpdb->get_row('query'output_typerow_offset); ?> 

query 
(stringa) La query che si desidera eseguire.
output_type 
Una delle tre costanti predefinite. Default a OBJECT.
  • OBJECT - il risultato sarà restituito come oggetto.
  • ARRAY_A - il risultato sarà restituito come un array associativo.
  • ARRAY_N - il risultato sarà restituito come un array con indice numerico.
row_offset 
(intero) La riga desiderata (0 per la prima). Default a 0.

Esempi

Recuperare tutte le informazioni sul link 10.

$mylink = $wpdb->get_row("SELECT * FROM $wpdb->links WHERE link_id = 10");

Le proprietà dell'oggetto $mylink sono il nome delle colonne estratte dalla query SQL (in questo esempio tutte le colonne della tabella $wpdb->links, ma volendo potete eseguire la query solo su alcune specifiche colonne).

echo $mylink->link_id; // stampa "10"

Per contro utilizzando

$mylink = $wpdb->get_row("SELECT * FROM $wpdb->links WHERE link_id = 10", ARRAY_A);

si otterrà un array associativo:

echo $mylink['link_id']; // stampa "10"

e

$mylink = $wpdb->get_row("SELECT * FROM $wpdb->links WHERE link_id = 10", ARRAY_N);

restiuirà un array con indice numerico:

echo $mylink[1]; // stampa "10"

Se nella tabella dei link non vi sono record con ID 10 verrà restituito null. Quindi il codice seguente sarà falso:

if ($mylink != null) {
  // fai qualche cosa con il link  
  return true;
} else {
  // nessun link trovato
  return false;
}

SELECT di una colonna

Per fare la SELECT di uan colonna utilizzare code>get_col</code>. Questa funzione restituisce un array monodimensionale. Se la query restituisce più di una colonna, verrà restituita la colonna specificata nella funzione ma l'intero risultato verrà messo in cache per utilizzi successivi. Restituisce un array vuoto se non sono stati trovati risultati.

 <?php $wpdb->get_col'query'column_offset ); ?> 

query 
(stringa) la query che si desidera eseguire. Impostando questo parametro a null verrà restituita la colonna specificata presa dai risultati della query precedente presenti in cache.
column_offset 
(intero) La colonna desiderata (0 per la prima). Default a 0.

Esempi

Per questo esempio supponiamo che il blog sia dedicato ad informazioni sulle automobili. Ciascun articolo descrive una singola automobile (es. Ford Mustang del 1969) e a ciascun articolo vengono assegnati tre Campi personalizzati: produttore, modello ed anno. Questo esempio visualizzerà i titoli degli articoli filtrati in base ad un particolare produttore (Ford) ed ordinati per modello ed anno.

Si utilizza get_col dalla Classe wpdb per restituire un array di tutti gli id degli articoli che corrispondono ai criteri di ricerca ed ordinati correttamente. Qiindi si utilizza un costrutto foreach per iterare l'array di id articoli per visualizzare il titolo di ciascun articolo. Si noti che l'SQL di questo esempio è stato creato da Andomar.

<?php 
$meta_key1		= 'modello';
$meta_key2		= 'anno';
$meta_key3		= 'produttore';
$meta_key3_value	= 'Ford';

$postids=$wpdb->get_col( $wpdb->prepare( 
	"
	SELECT      key3.post_id
	FROM        $wpdb->postmeta key3
	INNER JOIN  $wpdb->postmeta key1 
	            ON key1.post_id = key3.post_id
	            AND key1.meta_key = %s 
	INNER JOIN  $wpdb->postmeta key2
	            ON key2.post_id = key3.post_id
	            AND key2.meta_key = %s
	WHERE       key3.meta_key = %s 
	            AND key3.meta_value = %s
	ORDER BY    key1.meta_value, key2.meta_value
	",
	$meta_key1, 
	$meta_key2, 
	$meta_key3, 
	$meta_key3_value
) ); 

if ( $postids ) 
{
	echo "Elenco di {$meta_key3_value}, ordinate per {$meta_key1}, {$meta_key2}";
	foreach ( $postids as $id ) 
	{ 
		$post = get_post( intval( $id ) );
		setup_postdata( $post );
		?>
		<p>
			<a href="<?php the_permalink() ?>" rel="bookmark" title="Permalink a  <?php the_title_attribute(); ?>">
				<?php the_title(); ?>
			</a>
		</p>
		<?php
	} 
}
?>

Questo esempio elenca tutti gli articoli che contengono un particole campo personalizzato ma ordinati in base ad un secondo campo personalizzato.

<?php
// Elenca tutti gli articoli con il campo personalizzato Colore, ordinati in base al campo personalizzato Ordine_visualizzazione
// non esclude alcun 'post_type'
// presuppone che ciascun articolo abbia un solo campo personalizzato per il Colore ed uno per Ordine_visualizzazione
$meta_key1 = 'Colore';
$meta_key2 = 'Ordine_visualizzazione';

$postids = $wpdb->get_col( $wpdb->prepare( 
	"
	SELECT      key1.post_id
	FROM        $wpdb->postmeta key1
	INNER JOIN  $wpdb->postmeta key2
	            ON key2.post_id = key1.post_id
	            AND key2.meta_key = %s
	WHERE       key1.meta_key = %s
	ORDER BY    key2.meta_value+(0) ASC
	",
        $meta_key2,
	$meta_key1
) ); 

if ( $postids ) 
{
	echo "Elenco articoli per {$meta_key1}, ordinati per {$meta_key2}";
	foreach ( $postids as $id ) 
	{
		$post = get_post( intval( $id ) );
		setup_postdata( $post );
		?>
		<p>
			<a href="<?php the_permalink() ?>" rel="bookmark" title="Permalink a  <?php the_title_attribute(); ?>">
				<?php the_title(); ?>
			</a>
		</p>
		<?php
	}
}
?>

SELECT di risultati generici

RIsultati generici composti da più righe possono venir estratti dal database con il metodo get_results. La funzione restituisce l'intero risultato della query comein un array oppure NULL se non vi sono risultati. Ciascun elemento dell'array corrisponde ad una riga del risultato della query e, come per get_row, può essere un oggetto, un array associativo o un array numerico.

 <?php $wpdb->get_results'query'output_type ); ?> 

query 
(stringa) La query che si desidera eseguire. Impostando questo paramentro a null verranno restituiti i dati presenti nella cache coi risultati della query precedente.
output_type 
Una della quattro costanti predefinite. Default a OBJECT. Si veda SELECT di una riga ed i relativi esempi per maggiori informazioni.
  • OBJECT - il risultato sarà restituito come un array con indice numerico di oggetti riga.
  • OBJECT_K - il risultato sarà restituito come un array associativo di oggetti riga, utilizzando i valori della prima colonna come chiavi (i duplicati verranno eliminati).
  • ARRAY_A - il risultato sarà restituito come un array con indice numerico di array associativi, utilizzando i nomi delle colonne come chiavi.
  • ARRAY_N - il risultato sarà restituito come un array con indice numerico d un insieme di array con indice numerico.

Poichè questa funzione utilizza $wpdb->query() tutte le variabili della classe vengono correttamente impostate. IL conteggio dei risultati della query 'SELECT' verrà memorizzato in $wpdb->num_rows.

Esempi

Ottenere gli ID ed i titoli di tutte le Bozze dell'utente 5 e stampare i titoli.

$fivesdrafts = $wpdb->get_results( 
	"
	SELECT ID, post_title 
	FROM $wpdb->posts
	WHERE post_status = 'draft' 
		AND post_author = 5
	"
);

foreach ( $fivesdrafts as $fivesdraft ) 
{
	echo $fivesdraft->post_title;
}

Ottenere tutte le informazioni sulle Bozze dell'utente 5.

<?php
$fivesdrafts = $wpdb->get_results( 
	"
	SELECT * 
	FROM $wpdb->posts
	WHERE post_status = 'draft' 
		AND post_author = 5
	"
);

if ( $fivesdrafts )
{
	foreach ( $fivesdrafts as $post )
	{
		setup_postdata( $post );
		?>
		<h2>
			<a href="<?php the_permalink(); ?>" rel="bookmark" title="Permalink: <?php the_title(); ?>">
				<?php the_title(); ?>
			</a>
		</h2>
		<?php
	}	
}
else
{
	?>
	<h2>Non trovato</h2>
	<?php
}
?>

INSERT di righe

Inserisce una riga in una tabella.

 <?php $wpdb->insert$table$data$format ); ?> 

table 
(stringa) Il nome della tabella nella quale inserire i dati.
data 
(array) I dati da inserire (a coppie colonna => valore). Sia i $data delle colonne che i $data dei valori devono essere "grezzi" (e non devono aver subito un escaping SQL).
format 
(array|string) (opzionale) Un array di formati da mappare su ciascun valore presente in $data. Se si tratta di una stringa, questo formato sarà utilizzato per tutti i valori di $data. Se non specificato, tutti i valori di $data verranno trattati come stringhe a meno di diversa specifica di wpdb::$field_types.

Possibili valori di formato: %s per una stringa; %d per un numero decimale e %f per un numero a virgola mobile. (Si veda più sotto per ulterriori informazioni.)

Dopo l'inserimento, l'ID generato per la colonna AUTO_INCREMENT può essere recuperato con:

$wpdb->insert_id

Questa funzione restituisce false nel caso la riga non possa venir inserita.

Esempi

Inserisce due colonne in una riga, il primo valore è una stringa il secondo un numero:

$wpdb->insert( 
	'tabella', 
	array( 
		'colonna1' => 'valore1', 
		'colonna2' => 123 
	), 
	array( 
		'%s', 
		'%d' 
	) 
);

UPDATE di riga

Aggiorna una riga di una tabella. Restituisce false in caso di errore oppure in caso di successo il numero di righe interesate.

 <?php $wpdb->update$table$data$where$format null$where_format null ); ?> 

table 
(stringa)Il nome della tabella da aggiornare.
data 
(array) I dati da aggiornare (sotto forma di coppie colonna => valore pairs). Sia i $data delle colonne che i $data dei valori devono essere "grezzi" (non devono essere stati nemmeno sottoposti ad escaping SQL). Ciò significa che se state utilizzando dati in GET o POST dovrete utilizzare striplashes() per impedire che le barre finiscano nel database.
where 
(array) un array di nomi di clausole WHERE (in forma di coppie colonna => valore). Clausole multiple verranno unite con un AND. Sia le colonne di$where che i valori di $where dovrenno essere "grezzi".
format 
(array|stringa) (opzionale) Un array di formati da mappare su ciascuno dei valori di $data. Se stringa, questo formato verrà usato per tutti i valori di $data.
where_format 
(array|stringa) (opzionale) Un array di formati da pmappare su ciascuno dei valori di $where. Se stringa, questo formato verrà usato per tutti i valori di $where.

I possibili valori per i formati: %s per una stringhe; %d per un numero decimale e %f per un numero in virgola mobile. (Si veda più sotto per avere altre informazioni.) Se omesso, tutti i valori di $where verranno trattati come stringhe.

QUesta funzione restituisce il numero di righe aggiornate oppure false in caso di errore.

Esempi

Aggiornauna riga, dove l'ID è 1, il valore della prima colonna è una stringa ed il valore della seconda colonna è un numero:

$wpdb->update( 
	'tabella', 
	array( 
		'colonna1' => 'valore1',	// stringa
		'colonna2' => 'valore2'	// intero (numero) 
	), 
	array( 'ID' => 1 ), 
	array( 
		'%s',	// valore1
		'%d'	// valore2
	), 
	array( '%d' ) 
);

Attenzione: %d non gestisce valori con le virgole - se non state utilizzando numeri veri utilizzate le stringhe %s.

DELETE di righe

La funzione delete è stata aggiunta in WordPress 3.4.0 è può essere utilizata per cancellare delle righe da una tabella. L'utilizzo è simile a update e a insert. Restituisce il numero di righe aggiornate e false in caso di errore.

Utilizzo

<?php $wpdb->delete$table$where$where_format null ); ?>

Parametri

$table
(stringa) (required) Nome della tabella.
Default: None

{{Parameter|$where|array|Nome della tabella. un array di nomi di clausole WHERE (in forma di coppie colonna => valore). Clausole multiple verranno unite con un AND. Sia le colonne di $where che i valori di $where dovranno essere "grezzi".

$where_format
(stringa/array) (opzionale) Un array di formati da mappare su ciascuno dei valori di $$where. Se stringa, questo formato verrà usato per tutti i valori di $where. Un formato è uno fra '%d', '%f', '%s' (intero, numero in virgola mobile, stringa; si veda più sotto per avere informazioni aggiuntive). Se omesso, tutti i valori di $where verranno trattati come stringhe a meno che sia diverssamente specificato in wpdb::$field_types.
Default: null

Esempi

// Utilizzo di base.
$wpdb->delete( 'tabella', array( 'ID' => 1 ) );

// Utilizzo coi formati.
$wpdb->delete( 'tabella', array( 'ID' => 1 ), array( '%d' ) );

Proteggere le query dagli attacchi di SQL injection

Per una analisi più esaustiva dell'escaping SQL in WordPress, si veda database Data Validation. Questo articolo sulla Validazione dei dati è una lettura fondamentale per tutti quelli che contribuiscono al core di WordPress e per gli autori dei plugin.

In ogni caso bervemente diciamo che tutti i dati nelle query SQL devono subire un escaping SQL prima di eseguire la query per prevenire attacchi di tipo SQL injection. Ciò può essere realizzato facilmente tramite il metodo prepare, che supporta una sintassi stile sprintf() e stile vsprintf().

Nota: Dalla [Version 3.5| versione 3.5]], wpdb::prepare() forza un minimo di 2 argomenti. [altre informazioni qui]

<?php $sql = $wpdb->prepare( 'query' , value_parameter[, value_parameter ... ] ); ?>
query 
(stringa) La query SQL che si desidera eseguire con i aegnaposti (si veda più sotto).
value_parameter 
(intero|stringa|array) Il valore da sostituire al posto del segnaposto. più valori possono venir passati tramite più argomenti in stile sprintf(). In alternativa il secondo argomento può essere un array contenente i valori come nella funzione PHP vsprintf(). SI ponga attenzione a far si che nons ia possibile la manipolazione diretta da parte dell'utente di questo parametro, che permetterebbe la manipolazione dell'array di qualsiasi query con segnaposti multipli. I valori non devono aver subito già l'escaping SQL.

Segnaposti

I parametri di query di prepare accettano segnaposti in stile sprintf(). Sono supportati i formati %s (stringa), %d (intero) e %f (numero a virgola mobile). (i segnaposti %s e %d sono disponibili da quando la funzione è stata introdotta nel core con la versione 2.3, %f è disponibili solo dalla versione 3.3.) Qualsiasi altro carattere % causerà un errore di parsing a meno che non ne venga fatto l'escaping. Tutti i caratteri % all'interno della stringa SQL, compresi i caratteri jolly del LIKE, devono subire un escaping tramite un doppio-% come in %%. Tutti i %d, %f e %s devono essere lasciati senza virgolette all'interno della stringa di query. Si noti che il segnaposto %d accetta solamente numeri interi, quindi non è possibile passare valori con la virgola utilizzando%d. Se occorrono numeri con la virgola utilizzare %s.

Esempi

Aggiungere all'articolo 10 la coppia di meta_key => valore "Harriet's Adages" => "l'interfaccia del database di WordPress e semplice come una mattina domenicale.".

$metakey	= "Harriet's Adages";
$metavalue	= "L'interfaccia del database di WordPress e semplice come una mattina domenicale.";

$wpdb->query( $wpdb->prepare( 
	"
		INSERT INTO $wpdb->postmeta
		( post_id, meta_key, meta_value )
		VALUES ( %d, %s, %s )
	", 
        10, 
	$metakey, 
	$metavalue 
) );

Eseguito da WordPress in add_meta().

La stessa query utilizzando la sintassi in stile vsprintf().

$metakey = "Harriet's Adages";
$metavalue = "L'interfaccia del database di WordPress e semplice come una mattina domenicale.";

$wpdb->query( $wpdb->prepare( 
	"
		INSERT INTO $wpdb->postmeta
		( post_id, meta_key, meta_value )
		VALUES ( %d, %s, %s )
	", 
        array(
		10, 
		$metakey, 
		$metavalue
	) 
) );

Si noti che in questo esempio si impacchetano i valori in un array. Ciò può essere utile quando non si conosce il numero di argomenti che si devono passare se non all'esecuzione del codice.

Si noti che non ci si deve preoccupare del quoting delle stringhe. anzichè passare le variabili direttamente alla query SQL, si utilizza un segnaposto %s per le stringhe, un segnaposto %d per gli interi ed un segnaposto %f per i numeri in virgola mobile. È possibile passare quanti valori si desidera, ciwascuno come nuovo parametro del metodo prepare().

Mostrare o nascondere gli errori SQL

È possibile attivare o disattivare la visualizzazione degli errori utilizzando rispettivamente show_errors e hide_errors.

 <?php $wpdb->show_errors(); ?> 
 <?php $wpdb->hide_errors(); ?> 

È anche possibile stampare l'errore (se presente) generato dalla query più recente tramite print_error.

 <?php $wpdb->print_error(); ?> 

Nota: Se si esegue un WordPress Multisito, dovrete definire la costante DIEONDBERROR per gli errori del database affinchè questi vengano visualizzati tramite:
 <?php define'DIEONDBERROR'true ); ?> 

Ottenere informazioni sulla colonne

Si possono recuperare informazioni sulle colonne dei risultati della query più recente tramite get_col_info. Ciò può essere utile quando una funzione restituisce un OBJECT le cui proprietà sono sconosciute. Questa funzione restituirà le informazioni desiderate per le colonne specificate oppure un array con le informazioni di tutte le colonne del risultato della query ove non si specifichi alcuna colonna.

 <?php $wpdb->get_col_info('type'offset); ?> 

type 
(stringa) Quale informazione si desidera recuperare. I possibili valori sono una fra quelli seguenti (elenco preso dalla documentazione ezSQL). Default a name.
  • name - nome della colonna. Default.
  • table - nome della tabella a cui appartiene la colonna
  • max_length - lunghezza massima della colonna
  • not_null - 1 se la colonna non può essere NULL
  • primary_key - 1 se la colonna è una chiave primaria
  • unique_key - 1 se la colonna è una chiave univoca
  • multiple_key - 1 se la colonna e una chiave non-univoca
  • numeric - 1 se la colonna è numerica
  • blob - 1 se la colonna è di tipo BLOB
  • type - la tipologia della colonna
  • unsigned - 1 se la colonna e senza segno
  • zerofill - 1 se la colonna è zero-filled
offset 
(intero) Specifica la colonna dalla quale recuperare l'informazione (con 0 per la prima colonna). Default a -1.
  • -1 - Recupera l'informazione per tutte le colonne. Restituisce un array. Default.
  • Non-negative intero - Recupera l'informazione per una specifica colonna (0 per la prima).

Pulizia della Cache

Tramite flush è possibile pulire la cache dei risultati SQL.

 <?php $wpdb->flush(); ?> 

Tramite questo metodo si pulisce $wpdb->last_result, $wpdb->last_query e $wpdb->col_info.

Variabili della Classe

$show_errors 
Se l'opzione di [#Show and Hide SQL Errors|effettuare l'echo ]] è attiva o meno. Default a TRUE.
$num_queries 
Il numero di query eseguite.
$last_query 
La query più recente eseguita.
$last_error 
Il testo dell'errore più recente generato da MySQL.
$queries 
È possibile salvare tutte le query eseguite sul database ed i relativi tempi di esecuzione impostando la costante SAVEQUERIES a TRUE (questa costante ha come valore predefinito FALSE). Se SAVEQUERIES è TRUE, le query verranno memorizzate in questa variabile sotto forma di array.
$last_result 
I risultati dell'ultima query.
$col_info 
Le informazioni sulle colonne dei risultati della query più recente. See Ottenere informazioni sulla colonne.
$insert_id 
L'ID generato per una colonna AUTO_INCREMENT dalla più recente query di INSERT.
$num_rows 
Il numero di righe restituite dall'ultima query.
$prefix 
Il prefisso assegnato alle tabelle di WordPress per questo sito.
$base_prefix 
Il prefisso originale come definito in wp-config.php. Per il multisito: Utilizzarlo per ottenere il prefisso senza l'accodamento del numero del blog.

Variabili multisito

Se vi trovate in un ambiente Multisito è possibile accedere alle seguenti variabili:

$blogid 
L'id del sito (blog) corrente.
$siteid 
L'id del network corrente (formalmente "sito"). WordPress attualmente supporta solo un network per le installazioni multisito, ma ciò potrebbe cambiare in futuro. Si vedano i seguente articoli per maggiori informazioni:

Tabelle

Le tabelle del database di WordPress sono facilmente referenziate nelal classe wpdb.

$posts 
La tabella degli Articoli.
$postmeta 
La tabella dei Meta dati degli articoli (detta anche Campi personalizzati).
$comments 
La tabella dei Cmmenti.
$commentmeta 
La tabella contenente le inforzaioni addizionali sui commenti.
$terms 
La tabella terms contiene la 'descrizione' delle Categorie, della Categorie dei Link, dei Tag e dei termini di altre tassonomie eventualmente presenti.
$term_taxonomy 
La tabella term_taxonomy descrive le varie tassonomie (classi di termini). Le Categorie, le Categorie dei Link ed i Tag sono tassonomie.
$term_relationships 
La tabella term relationships contiene il collegamento fra un termine e l'oggetto che utilizza tale termine, ad esempio questo file punta a ciascuna Category utilizzata in ciascun Articolo.
$users 
La tabella degli Utenti.
$usermeta 
La tabella usermeta contiene le informazioni aggiuntive sugli utenti quali il nickname, descrizioni e permessi.
$links 
La tabella dei Link.
$options 
La tabella delle Opzioni.

Tabelle Multisito

Questa tabelle sono utilizzate solo in installazioni multisito.

$blogs 
La tabella dei [Database Description#Table:_wp_blogs|Blog]] contiene una lista dei vari blog (siti) creati per il network.
$signups 
La tabella delle Registrazioni.
$site 
La tabella Site contiene un elenco del network (precedentemente conosciuti come "siti" in WPMU) che sono stati creati durante l'installazione (solitamente esiste solo un sito elencato inq uesta tabella).
$sitemeta 
La tabella delle Impostazioni del Network (metadati del sito) coentiene le impostazioni applicabili all'intera installazione multisito.
$sitecategories 
La tabella della Categorie del sito.
$registration_log 
La tabella del Log delle registrazioni.
$blog_versions 
La tabella delle versioni del blog.

File sorgente

wpdb() si trova in wp-includes/wp-db.php.

Correlati

Articles

Code Documentation

  • Class: WP_Query - Detailed Overview of class WP_Query
  • Object: $wpdb - Overview on the use of the $wpdb object
  • Function: get_query_var()
  • Function: query_posts() - Create additional custom query
  • Function: get_post() - Take an ID of an item and return the records in the database for that article
  • Function: get_posts() - A specialized function that returns an array of items
  • Function: get_pages() - A specialized function that returns an array of pages
  • Function: have posts() - a condition that determines whether the query returned an article
  • Function: the_post() - Used to automatically set the loop after a query
  • Function: rewind_posts() - Clears the current loop
  • Function: setup_postdata() - Sets the data for a single query result within a loop
  • Function: wp_reset_postdata() - Restores the previous query (usually after a loop within another loop)
  • Function: wp_reset_query()
  • Function: is_main_query() - Ensures that the query that is being changed is only the main query
  • Action Hook: pre_get_posts - Change WordPress queries before they are executed
  • Action Hook: the_post - Modify the post object after query
  • Filter Hook: found_posts - Changes the value of the object found_posts WP_Query
See also index of Class Reference and index of Function Reference.