wp-content/db.php: dov'è questo file?
In cima al file sorgente wp-includes/wp-db.php
posso trovare il seguente commento:
/**
* WordPress Database Access Abstraction Object
*
* È possibile sostituire questa classe con la propria
* impostando la variabile globale $wpdb nel file wp-content/db.php
* con la tua classe. La classe wpdb verrà comunque inclusa,
* quindi puoi estenderla o semplicemente usare la tua.
*/
Mi chiedevo come funzionerebbe la sostituzione della classe wpdb con una classe diversa ma non riesco a trovare nessun file sotto wp-content/db.php. C'è un errore nella documentazione?
Grazie.

Devi creare il file da solo. Questo è uno dei file chiamati "drop-ins". Non sono distribuiti con il core di WordPress e il loro scopo è estendere le funzionalità, nel caso di db.php per sostituire il "driver" di database predefinito con un altro, ad esempio per comunicare con un database che non è MySQL.
Una struttura tipica dei file è
class altdb extends wpdb{
public function __construct(){
parent::__construct( DB_USER, DB_PASSWORD, DB_NAME, DB_HOST);
}
function insert($table, $data, $format = null) {
// codice per sovrascrivere insert
}
function query($sql) {
// codice per sovrascrivere query
}
}
global $wpdb;
$wpdb = new altdb();
Questo è un esempio relativamente semplice che sovrascrive solo insert e query ma utilizza ancora lo stesso database. Puoi renderlo molto più complesso di così.

Dovresti creare il tuo file dp.php
nella directory wp-content
; se definisci $wpdb
al suo interno, questo sostituirà l'oggetto predefinito $wpdb
di WordPress.
Non è elencato nella lista delle Funzioni Pluggable (non è una grande sorpresa, dato che $wpdb
è una classe, non una funzione), ma sembra concettualmente simile.
Inoltre, se non l'hai ancora letto, ti consiglio di consultare la documentazione della Classe WPDB.
