25sep
18

Si alguna vez has querido saber como crear dos instalaciones separadas de WordPress pero que tengan los mismos usuarios aquí lo tienes.

La idea parte de un hilo en los foros de soporte de WordPress, en la que se hablaba de como compartir tablas de usuarios.

Para empezar, ambas instalaciones deberían tener la misma versión de WordPress, al menos para evitar errores de cambio de gestión de las tablas.

También, ambas instalaciones deberían usar la misma base de datos (no sé si funcionaría en bases de datos distintas) así que repasa este artículo para saber como se hace. También es recomendable (siempre) hacer copia de seguridad de cualquier base de datos previa, antes de tener que lamentarse por algún error cometido. Pero vamos a ello …

Vamos a plantear un caso: Blog A y Blog B. El blog A ha sido tu blog principal pero tu quieres añadir una segunda instalación con los mismos usuarios, el blog B. También presuponemos que estás usando el prefijo por defecto para las tablas de WordPress en el blog A: wp_.

Pues bien, los prefijos para las tablas del blog B deberían ser distintas. Lo cambiaremos a algo así en el fichero wp-config.php del blog B:

$table_prefix  = 'blogb_';

También en wp-config.php busca esta línea:

/* That's all, stop editing! Happy blogging. */

Y justo encima le añades lo siguiente:

define('CUSTOM_USER_TABLE', 'wp_users');
define('CUSTOM_USER_META_TABLE', 'wp_usermeta');

Con esto le decimos a la instalación del blog B que quieres usar las tablas user y usermeta de la instalación del blog A. Por otra parte, el resto del contenido del blog B tendrá sus tablas únicas y distintas. ¿A que no es complicado?

Para saber más:

  • Pingback: Bitacoras.com

  • http://WWW.PERUJIN.NET Perujin

    off topic:

    una preguntita….:

    Saben como puedo encontrar un plugin que coloque una barra de video como la que tiene esta web en la parte superior:

    http://startcooking.com/video/328/Three-Good-Kitchen-Knives

    les agredecería mucho su ayuda.

    Saludos.

  • http://docs4beto.cat/es/ Albert

    Pues no es complicado y me bien fantástico para un par de blogs de unos amigos.

    Muchas gracias!

  • Pingback: Compartiendo usuarios en wordpress « tomando notas

  • tomatoma

    Hola,

    He seguido el tutorial al pie de la letra y desde el blog B no consigo loguear, me dice: “No tienes autorización para acceder a estas páginas” cuando lo intento.
    He planteado la pregunta en el foro.

    Salu2

  • tomatoma

    Solucionado, me limité a modificar wp_config.php sobre un segundo blog ya instalado y eso NO funciona.

  • Pingback: Rubén Ortiz » Wordpress - No tienes autorizacion para acceder a esta pagina

  • sebastian gaspari

    tengo un problema…
    y la verdad no tengo idea de como solucionarlo..
    para mi puede que sea la vercion del wordpress.. es 2.8.4 lo baje en ingles.. ypuse los lenguajes en español.. (cree la carpeta…. )
    el error dice que los datos de la base de datos.. (SQL) no son validos…

    http://sz5xda.bay.livefilestore.com/y1p9QFYfVfgGUTOKF9dIqP7qNp411g-Xffba8uH4yjduSGcuQQXJK6YyGUMvg9gNY9HJH68jBLiksC5dN3JNJW_6Qt43Xtnh5yA/screen.jpg

    osea.. yo al hacer el wp-config.php copie el primero (blog A) y en el segundo.. solo le agregue.
    los wp-config.php son..

    Blog A:
    [inicio del codigo]

    define('DB_NAME', 'nombredelabasededatos');
    define('DB_USER', 'nombredeuser');
    define('DB_PASSWORD', 'passs');
    define('DB_HOST', 'mysql8.000webhost.com');
    define('DB_CHARSET', 'utf8');
    define('DB_COLLATE', '');

    define('AUTH_KEY', 'put your unique phrase here');
    define('SECURE_AUTH_KEY', 'put your unique phrase here');
    define('LOGGED_IN_KEY', 'put your unique phrase here');
    define('NONCE_KEY', 'put your unique phrase here');

    $table_prefix = 'tec_';

    define ('WPLANG', 'es_ES');

    [final de codigo]

    Blog B:

    [Inicio del codigo]

    define('DB_NAME', 'nombredelabasededatos');
    define('DB_USER', 'nombredeuser');
    define('DB_PASSWORD', 'passs);
    define('DB_HOST', 'mysql8.000webhost.com');
    define('DB_CHARSET', 'utf8');
    define('DB_COLLATE', '');

    define('AUTH_KEY', 'put your unique phrase here');
    define('SECURE_AUTH_KEY', 'put your unique phrase here');
    define('LOGGED_IN_KEY', 'put your unique phrase here');
    define('NONCE_KEY', 'put your unique phrase here');

    $table_prefix = 'biblio_';

    define ('WPLANG', 'es_ES');
    define('CUSTOM_USER_TABLE', 'tec_users');
    define('CUSTOM_USER_META_TABLE', 'tec_usermeta');

    [final del codigo]

    segun ustedes con eso bastaria.. pero me aparece eso del screen.
    yo creo que es la vercion de wordpress.. que no me permite usar la misma base de datos.. (no se por quee.. pero la rechaza..)

  • sebastian gaspari

    gracias.. funciona perfecto!!
    ya lo arregle..

    pasa que el hosting que uso.. no permite usar de una cuenta a otra.. una misma base de datos..
    por lo tanto tuve que crear subdominios..

    MUY BUEN APORTE!!

  • lalaale

    Hola. ¿Funciona para BuddyPress también? ¿Alguien sabe? Es que quiero tener una instalación de bp principal, con 3 o 4 más “secundarias”, ya que se trata de diferentes temáticas cada instalación, pero me interesaría centralizar todos los usuarios y sus perfiles en una sola. Gracias!!

  • Inkilino

    Parece que funciona, pero cuando entro en el segundo blog me dice que: “No tienes suficientes permisos para acceder a esta página”

    ¿ALGUNA IDEA?

    • http://fernandotellado.com Fernando

      Pues revisar los permisos del usuario, a veces pone los permisos la base de datos a cero

    • dragonnegro

      Hola. Yo tengo el mismo problema, loguea y todo, pero al intentar acceder al panel de control me dice que no tengo permisos para ver esa pagina. Mientras que en el “blog 1″ puedo ver perfectamente el panel de Administrador.

      ¿Que podria ser?

    • dragonnegro

      Hola. Ya lo pude solucionar.
      Busque el archivo wp-includes/capabilities.php en el segundo blog, y modifique la linea “$this->cap_key = $wpdb->prefix . ‘capabilities’;|” de esta manera “$this->cap_key = ‘wp_capabilities’;” y ya parece funcionar todo correctamente.

      ¡Saludos!

      • Raul

        Muchas gracias, efectivamente el prefijo “automatizado” es lo que me daba el fallo.

    • Raul

      Hay que modificar el fichero de configuración antes de instalar el “blog B”

  • http://systemsarea.wordpress.com/ Juan Diego

    ????????????????? cuando tenga un blog en .org lo hare

  • Esteban

    Quizás alguna variable haya cambiado desde que crearon el post, ya que a pesar de que logro compartir los usuarios, cuando me logeo en BlogA e intento pasar a BlogB, el usuario no me lo respeta y me dice logearme de nuevo.

    Alguna idea? he intentado creo que todo.