wp-content/db.php : unde se află acest fișier?
În partea de sus a fișierului sursă wp-includes/wp-db.php
găsesc următorul comentariu:
/**
* Obiectul de Abstraire a Accesului la Baza de Date WordPress
*
* Este posibil să înlocuiți această clasă cu una proprie
* prin setarea variabilei globale $wpdb în fișierul wp-content/db.php
* la clasa dumneavoastră. Clasa wpdb va fi în continuare inclusă,
* astfel încât o puteți extinde sau pur și simplu folosi propria clasă.
*/
Mă întrebam cum ar funcționa înlocuirea clasei wpdb cu o clasă diferită, dar nu pot găsi niciun fișier sub wp-content/db.php. Este o eroare în documentație?
Mulțumesc.

Trebuie să creezi fișierul singur. Acesta este unul dintre fișierele denumite "drop-ins". Ele nu sunt distribuite împreună cu nucleul WordPress și scopul lor este de a extinde funcționalitatea, în cazul db.php pentru a înlocui "driver-ul" implicit de bază de date cu altul, de exemplu pentru a comunica cu o bază de date care nu este MySQL.
O structură tipică a acestor fișiere este:
class altdb extends wpdb{
public function __construct(){
parent::__construct( DB_USER, DB_PASSWORD, DB_NAME, DB_HOST);
}
function insert($table, $data, $format = null) {
// cod pentru a suprascrie insert
}
function query($sql) {
// cod pentru a suprascrie query
}
}
global $wpdb;
$wpdb = new altdb();
Acesta este un exemplu relativ simplu care suprascrie doar insert și query, dar folosește în continuare aceeași bază de date. Poți merge mult mai departe decât atât.

Ai putea crea propriul tău fișier dp.php
în directorul wp-content
; dacă definești $wpdb
în acel fișier, acesta va înlocui obiectul implicit $wpdb
din WordPress.
Nu este listat în lista Funcțiilor Plugabile (nu este o surpriză, deoarece $wpdb
este o clasă, nu o funcție), dar pare similar ca concept.
De asemenea, dacă nu l-ai citit încă, îți recomand să studiezi documentația Clasei WPDB.
