wp-content/db.php: где находится этот файл?
В начале исходного файла wp-includes/wp-db.php
можно найти следующий комментарий:
/**
* Абстракция доступа к базе данных WordPress
*
* Вы можете заменить этот класс своим собственным,
* установив глобальную переменную $wpdb в файле wp-content/db.php
* на ваш класс. Класс wpdb все равно будет подключен,
* поэтому вы можете его расширить или просто использовать свой собственный.
Мне интересно, как работает замена класса wpdb на другой класс, но я не могу найти файл wp-content/db.php. Это ошибка в документации?
Спасибо.

Вам необходимо создать файл самостоятельно. Это один из файлов, называемых "drop-ins". Они не поставляются вместе с ядром WordPress, и их цель — расширить функциональность. В случае с db.php, он используется для замены стандартного "драйвера" базы данных на другой, например, для работы с БД, отличной от MySQL.
Типичная структура таких файлов выглядит следующим образом:
class altdb extends wpdb{
public function __construct(){
parent::__construct( DB_USER, DB_PASSWORD, DB_NAME, DB_HOST);
}
function insert($table, $data, $format = null) {
// код для переопределения метода insert
}
function query($sql) {
// код для переопределения метода query
}
}
global $wpdb;
$wpdb = new altdb();
Это относительно простой пример, который переопределяет только методы insert и query, но продолжает использовать ту же базу данных. Вы можете реализовать гораздо более сложную логику.

Вы можете создать свой собственный файл dp.php
в директории wp-content
; если вы определите $wpdb
в этом файле, он заменит стандартный объект $wpdb
WordPress.
Это не указано в списке Подключаемых функций (что неудивительно, так как $wpdb
— это класс, а не функция), но концепция похожа.
Также, если вы еще не читали, я рекомендую ознакомиться с документацией по классу WPDB.
