wp-content/db.php : ¿dónde se encuentra este archivo?

9 sept 2014, 20:42:58
Vistas: 18K
Votos: 1

En la parte superior del archivo fuente wp-includes/wp-db.php puedo encontrar el siguiente comentario:

/**
 * Objeto de Abstracción para el Acceso a la Base de Datos de WordPress
 *
 * Es posible reemplazar esta clase con tu propia clase
 * configurando la variable global $wpdb en el archivo wp-content/db.php
 * con tu clase. La clase wpdb seguirá siendo incluida,
 * por lo que puedes extenderla o simplemente usar la tuya.

Me preguntaba cómo funcionaría reemplazar la clase wpdb con una clase diferente pero no puedo encontrar ningún archivo bajo wp-content/db.php. ¿Hay algún error en la documentación?

Gracias.

0
Todas las respuestas a la pregunta 2
0

Necesitas crear el archivo tú mismo. Este es uno de los archivos conocidos como "drop-ins". No se distribuyen con el núcleo de WordPress y su propósito es extender la funcionalidad, en el caso de db.php para reemplazar el "controlador" de base de datos predeterminado por otro, por ejemplo, para comunicarse con una base de datos que no sea MySQL.

Una estructura típica de los archivos es

class altdb extends wpdb{

    public function __construct(){
        parent::__construct( DB_USER, DB_PASSWORD, DB_NAME, DB_HOST);
    }

    function insert($table, $data, $format = null) {
        // código para sobrescribir insert
    }

    function query($sql) {
        // código para sobrescribir query
    }
}

global $wpdb;
$wpdb = new altdb();

Ese es un ejemplo relativamente simple que solo sobrescribe insert y query pero sigue usando la misma base de datos. Puedes hacerlo mucho más complejo que eso.

9 sept 2014 21:12:50
0

Podrías crear tu propio archivo dp.php en el directorio wp-content; si defines $wpdb allí, reemplazará el objeto $wpdb predeterminado de WordPress.

No está listado en el listado de Funciones Plugables (no es una gran sorpresa, ya que $wpdb es una clase, no una función), pero parece similar en concepto.

Además, si aún no lo has leído, te recomendaría que revises la documentación de la Clase WPDB.

9 sept 2014 20:52:09