Conectarse a una Base de Datos externa desde WordPress

Hace mucho que no toco las tripas de WordPress, pero recientemente me he visto en la necesidad de instalar uno y hacer que dentro se obtengan información de una Base de Datos externa. Mirando la documentación que a primera vista parece completa, pero que luego te das cuenta que le haría falta una reestructuración, pensé que tendría que hacer la conexión “a pelo” con su mysql_connect y demás.

Por suerte existe Nicolás Fantino y a más de existir, sabe de WordPress. Y me dio la solución usando la propia clase de conexión a DDBB de WordPress.

Seguidamente cómo conectarse y ejecutar una consulta:

define('DDBB_USER', 'root');
define('DDBB_PASSWORD', '');
define('DDBB_NAME', 'newoysho');
define('DDBB_HOST', 'localhost');

$gestordb = new wpdb(DDBB_USER, DDBB_PASSWORD, DDBB_NAME, DDBB_HOST);
$gestordb->get_results('SELECT * ....'');

Dos cosas. La primera, podemos utilizar todos los otros métodos que nos proporciona la clase wpdb y segunda, ojo al definir constantes para usarlas en la conexión, no se os ocurra usar de nombre DB_USER, DB_PASSWORD, DB_NAME ni DB_HOST, son las que usa el propio WordPress.

Tags:

4 Responses to “Conectarse a una Base de Datos externa desde WordPress”

  1. ala_747 Says:
    June 25th, 2009 at 4:00 am

    Un placer :)

    Ya sabes que, cuando logre hacerme un tiempo para sopar CakePHP (cosa que quiero desde hace mucho pero que aún no puedo), te va a tocar a ti sacarme de los líos!!

    Abz!

  2. Armando Sosa Says:
    June 25th, 2009 at 10:23 pm

    Wow! Y uno luego cree que sabe de WordPress. Para que has hecho esto? Yo quiero compartir usuarios entre una app de CakePHP y WP y nadamás no doy con la solución. Pero esto parece como que puede funcionar. Gracias!

  3. faemino Says:
    June 25th, 2009 at 11:12 pm

    Por supuesto ala_747 ;-)

    Armando, respecto a la conexión de WP con CakePHP si quieres que se realice desde CakePHP sé que existen plugins de CakePHP para la conexión con WP o como mínimo unos modelos para interactuar con la DDBB de WP. Si lo que quieres es a la viceversa, lo que he escrito en el post te puede servir. De nadas!

  4. ala_747 Says:
    June 26th, 2009 at 9:53 am

    Armando! Años sin vernos (más q nada xq yo anduve desaparecido :) )!!

    Si lo q vas a compartir son usuarios y los datos están del lado del CakePHP puedes clavarle al WP un plugin para q levante los usuarios desde una DB absolutamente externa (http://wordpress.org/extend/plugins/external-database-authentication/). La verdad es q no la he vuelto a probar desde hace más de 1 año, pero solía ir muy bien y se veía medio robusta.

Leave a Reply