✅ Noticias, temas, complementos de WEB y WordPress. Aquí compartimos consejos y las mejores soluciones para sitios web.

Cómo conectar otra base de datos en WordPress

389

Recientemente, recibí una pregunta sobre cómo conectar una base de datos más al sitio web de WordPress. Primero, quiero dejar en claro que WordPress está construido de manera que puede ejecutar cualquier cantidad de sitios o administrar cualquier funcionalidad desde una sola base de datos. Creo que nunca necesitamos conectar más de una base de datos al sitio web de WordPress.

Pero aún así, si alguien está buscando la solución para conectar varias bases de datos, entonces hay un truco para ello. Con este truco, puede utilizar los métodos de la clase wpdb para recuperar los registros de otra base de datos. Este truco no le permitirá utilizar los métodos principales proporcionados por WordPress en su segunda base de datos. Las funciones como get_option(), update_option (), wp_insert_post (), get_post_meta () no serán accesibles para su otra base de datos.

En ese caso, el usuario puede obtener los datos de las opciones, publicar tablas usando consultas SQL con los métodos de la clase wpdb. Estos métodos son get_var (), get_row (), get_col (), get_results (), etc.

Conectar otra base de datos en WordPress

Cuando necesite conectar otra base de datos, cree una instancia de la clase wpdb. Al hacerlo, obtiene acceso a todos los métodos disponibles de la clase wpdb. El usuario puede utilizar estos métodos de clase directamente para interactuar con la base de datos externa.

Para comenzar, debe tener las credenciales de una base de datos externa.

Como se dijo, necesita crear una instancia de la clase wpdb. Esta instancia debería estar disponible en toda la aplicación de WordPress. Para esto, agregue el siguiente código en el functions.phparchivo.

function connect_another_db() {
    global $seconddb;
    $seconddb = new wpdb(USERNAME, PASSWORD, DATABASE_NAME, HOSTNAME);
}
add_action('init', 'connect_another_db');

Asegúrese de reemplazar todos los marcadores de posición con los valores reales. Al agregar el código anterior, está conectado con otra base de datos. Puede utilizar esta segunda instancia de la siguiente manera:

global $seconddb;
$user_count = $seconddb->get_var( "SELECT COUNT(*) FROM $wpdb->users" );
echo "<p>User count is {$user_count}</p>";

Tenga en cuenta que el prefijo de su tabla de otra base de datos debe ser el mismo que el de la base de datos original. Si el prefijo de su tabla es diferente, debe mencionar el prefijo explícitamente como se muestra a continuación:

global $seconddb;
$prefix = 'wp2_'; // here 'wp2' is the table prefix of second database
$user_count = $seconddb->get_var( "SELECT COUNT(*) FROM $prefix"."users" );
echo "<p>User count is {$user_count}</p>";

Con los trucos anteriores, puede conectar otra base de datos y obtener registros de ella en su sitio web de WordPress. Pero recomiendo no utilizar varias bases de datos para su sitio web de WordPress. Intente lograr su objetivo solo desde la base de datos única.

Artículos relacionados

Fuente de grabación: artisansweb.net

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More