Comparta sus usuarios en varios sitios de WordPress ? Es posible !

Y si se propone compartir los usuarios de sus sitios de WordPress entre s铆 ? Un poco como Google. De hecho, la famosa firma de Mountain View permite el acceso a todos sus servicios con una sola inscripci贸n. Adem谩s, este registro se realiza desde cualquiera de estos servicios.

Bueno, tengo buenas noticias ! Porque si, puede lograr una arquitectura similar en un entorno de WordPress ! Hay muchas razones para compartir sus usuarios en varios sitios de WordPress ! Entonces veamos c贸mo hacerlo !

Comparta sus usuarios de WordPress en varios sitios web ? Es posible !

Puede lograr una arquitectura similar a los servicios de Google en un entorno de WordPress !

Familiar铆cese con la base de datos y los archivos importantes

Sobre todo, es importante conocer los principales engranajes del proceso. En efecto, cada vez que un usuario se registra en su sitio web, su informaci贸n se registra en una base de datosEn WordPress, dos de las doce instaladas de forma predeterminada almacenan esta informaci贸n. Se trata. wp_users y wp_usermeta (si no ha cambiado el prefijo de sus tablas).

Para darse cuenta de esto, lo invito a explorar su base de datos a trav茅s de phpmyadmin con los identificadores proporcionados por su host. La base de datos de una instalaci贸n b谩sica de WordPress deber铆a verse as铆.

Familiar铆cese con la base de datos de WordPress

Cada vez que un usuario se registra en su sitio, su informaci贸n se registra en una base de datos.

Saber, m谩s o menos, c贸mo funciona la base de datos es importante. Porque, Para crear un ecosistema de sitios de WordPress basado en el uso compartido de usuarios, deben compartir la misma base de datos.

wp-config.php: el canal de comunicaci贸n con la base de datos

Una pregunta surge ahora. C贸mo decirle a la base de datos c贸mo debe comportarse ? En WordPress, estos canales de comunicaci贸n pueden ser numerosos. De hecho, esto puede depender de la arquitectura de su tema y las extensiones instaladas. Sin embargo, hoy nos centraremos en lo principal: wp-config.php.

El archivo wp-config.php se genera autom谩ticamente durante cada nueva instalaci贸n de WordPressLo encontrar谩 en la ra铆z de su sitio web. Lo encontrar谩 en la ra铆z de su sitio web.

wp-config.php: el canal de comunicaci贸n con la base de datos de WordPress

El archivo wp-config.php se genera autom谩ticamente durante cada nueva instalaci贸n de WordPress.

Es a trav茅s de wp-config que “cortocircuitaremos” el funcionamiento normal de las tablas de usuario en WordPressAdem谩s, aprovecho esta oportunidad para hacer una aclaraci贸n importante. Para compartir usuarios en m煤ltiples sitios de WordPress, debe, por supuesto, ser due帽o de todos los sitios web en cuesti贸nPor un lado, porque debe tener el FTP y los identificadores de la base de datos para llevar a cabo las operaciones. Por otro lado, porque se trata de la manipulaci贸n de datos. Datos que debe poseer con el consentimiento del usuario. Si no est谩 familiarizado con el concepto de consentimiento,. Los invito a referirse a la CNIL, autoridad competente en la materia.

functions.php: una buena manera de agregar funcionalidad adicional

Este es otro archivo com煤n a todas las instalaciones de WordPress: el archivo function.php.

Sin embargo, tomar谩 un poco m谩s de profundidad encontrarlo. Porque est谩 en el directorio wp-content en el que se encuentra el subdirectorio de temas bajo el cual encontramos todos los archivos que contienen sus temas. Hay un archivo functions.php en cada uno de los temas presentes en su instalaci贸n de WordPress. Por supuesto, solo se tiene en cuenta el tema activado.

Adem谩s, Le recomiendo encarecidamente que no modifique un archivo functions.php solo sobre un tema infantilHistorial de no ver desaparecer todas sus modificaciones con cada actualizaci贸n de su tema. Si no ve de lo que estoy hablando, le recomiendo este art铆culo que me present茅 sobre la creaci贸n de temas infantiles.

驴Por qu茅 te estoy hablando de este archivo? ? Por varias razones. Por un lado, porque ser谩 煤til para nosotros proporcionar nuevas indicaciones a la base de datos a trav茅s del c贸digo PHP. Por otro lado, porque cada vez que encuentre “un c贸digo” para insertar en su WordPress, seguramente estar谩 en el functions.php que tendr谩 que hacerse.

Instale un primer sitio que albergar谩 a los usuarios para compartir

Para crear el entorno adecuado para compartir usuarios, debe comenzar desde cero ! Es decir, desde la fase de instalaci贸n de WordPress. Adem谩s, nunca se sabe, si no se siente muy c贸modo con esta parte, lo remito a este muy buen art铆culo.

Primero, elige un idioma. Luego, la segunda pantalla de instalaci贸n de WordPress lo invita a conectar una base de datos. Ingrese la informaci贸n proporcionada por su anfitri贸n sobre este tema. En el 煤ltimo cuadro, modifique el prefijo de sus tablas a su conveniencia. Por mi parte, para estar all铆, nombrar茅 mis tablas site1_.

Elija el prefijo para las tablas de la base de datos de WordPress

La segunda pantalla de instalaci贸n de WordPress lo invita a conectar una base de datos. En el 煤ltimo cuadro, modifique el prefijo de sus tablas a su conveniencia.

En la siguiente pantalla, ingrese el identificador, la contrase帽a y la direcci贸n de correo electr贸nico que elija y luego valide.

Instalaci贸n de WordPress: paso 2

En la 煤ltima pantalla de instalaci贸n, ingrese el identificador, la contrase帽a y la direcci贸n de correo electr贸nico que elija y luego valide.

Vaya a su base de datos a trav茅s de phpmyadmin. Puede ver que las doce tablas se crearon con el prefijo site1_Entre ellos, por lo tanto, encontramos. site1_users y site1_usermeta.

Base de datos de WordPress antes de compartir usuarios

Las doce tablas se han creado con el prefijo site1_. Entre ellos, encontramos site1_users y site1_usermeta.

Ahora vamos a ir al archivo wp-config.phpEn este archivo, indicaremos a qu茅 tablas de base de datos debe referirse nuestro WordPress para constituir su lista de usuarios. Baja a la siguiente l铆nea:.

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

Justo antes de este, ingrese el siguiente c贸digo:

// tables users et usermeta personnalis茅es
define( 'CUSTOM_USER_TABLE', 'site1_users' );
define( 'CUSTOM_USER_META_TABLE', 'site1_usermeta' );

Te digo directamente. Estas dos l铆neas no son esenciales en la primera instalaci贸n. De hecho, la referencia a estas tablas es predeterminada para este primer WordPress. Sin embargo, puede ser importante tenerlos en cuenta en aras de la claridad. Puede ser interesante saber a qu茅 tablas se refiere este o aquel sitio. Especialmente si tiene m谩s de dos conectados a las mismas tablas usuarios y usermeta.

Instale un segundo WordPress con el que compartir usuarios

Ahora instalemos un segundo WordPress en el que encontraremos a los usuarios site1_ y vi verso. Como antes, inicie una instalaci贸n y elija el idioma. Luego ingrese la misma informaci贸n de base de datos que para su primera instalaci贸n de WordPress. Excepto que tendr谩 que dar otro prefijo a sus tablas. En mi caso, este prefijo ser谩 site2_.

Segunda instalaci贸n de WordPress para compartir usuarios

Instalemos un segundo WordPress en el que encontraremos a los usuarios de site1_ y viceversa.

Tenga en cuenta que si ingresa el mismo prefijo que para su primera instalaci贸n, WordPress considerar谩 que ya est谩 instalado. Este paso es, por lo tanto, muy importante ! Al igual que el siguiente, por cierto !

Porque para todo ! No inicie la instalaci贸n propuesta en la siguiente pantalla de inmediato ! Conoce primero en el wp-config.phpComo antes, baja a la l铆nea :.

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

Luego, justo antes de este, ingrese las mismas l铆neas que las ingresadas en la primera instalaci贸n de WordPress.

// tables users et usermeta personnalis茅es
define( 'CUSTOM_USER_TABLE', 'site1_users' );
define( 'CUSTOM_USER_META_TABLE', 'site1_usermeta' );

Esta vez, este paso es importante. De hecho, indica que las tablas a tener en cuenta para constituir la lista de usuarios deben ser site1_users y site1_usermetaEsto mientras que, por defecto, este rol habr铆a vuelto a las tablas. site2_users y site2_usermeta.

Cuando sucede magia

Una vez hecho esto y guardado, regrese a su segunda instalaci贸n de WordPress y ejec煤telo. Si va a echar un vistazo al lado de la base de datos, ver谩 que la manipulaci贸n tuvo el efecto esperado. Esta vez, solo se han instalado diez tablas. Mesas site2_users y site2_usermeta han sido omitidos como superfluos.

Un solo par de tablas de usuario para todo WordPress en la base de datos

Regrese a su segunda instalaci贸n en WordPress. Las tablas site2_users y site2_usermeta se omitieron porque eran superfluas.

Sin embargo, al hacerse cargo de la instalaci贸n, aparece un peque帽o cambio en la siguiente pantalla. De hecho, no puede ingresar un identificador o contrase帽a. Supuestamente, el usuario ya existe. Sin embargo, no se deje enga帽ar. No ingrese la misma direcci贸n de correo electr贸nico que la utilizada en la primera instalaci贸n de WordPress. Como una cuenta ya est谩 asociada con ella, el registro no funcionar谩.

El uso compartido de usuarios modifica la instalaci贸n de WordPress

Al reanudar la instalaci贸n, aparece un peque帽o cambio en la siguiente pantalla.

Al validar su registro, aparece una nueva pantalla. Esto indica que una cuenta con el identificador admin fue creado. Adem谩s, se ha generado una contrase帽a. Con茅ctese con estos identificadores. Al dirigirse a los usuarios, ver谩 que aparece la cuenta creada en la primera instalaci贸n.

WordPress n 掳 1 comparte sus usuarios con el sitio n 掳 2

Al dirigirse a los usuarios, ver谩 que aparece la cuenta creada en la primera instalaci贸n.

Del mismo modo, si regresa a la primera instalaci贸n de WordPress, la cuenta de administrador de la segunda aparece igual.

WordPress n 掳 2 comparte sus usuarios con el sitio n 掳 1

Si regresa a la primera instalaci贸n de WordPress, la segunda cuenta de administrador aparece igual.

Sin embargo, una diferencia de tama帽o es obvia. De hecho, los roles no se exportan. Su primera cuenta es administrador en el primer WordPress pero no en el segundo. En cuanto a la cuenta admin, es el segundo pero no el primero. Esto se debe a que los roles y permisos no se exportan de un sitio a otro.

C贸mo compartir los roles y permisos de los usuarios ?

Entonces, en este punto, cada usuario creado en uno de los dos sitios aparece en el otroEsto prueba que las indicaciones dadas a trav茅s del. wp-config.php trabajo. Al menos para la mesa site1_users que comparte bien todos sus datos con todos los sitios web.

Sin embargo, lo mismo no es cierto para la tabla site1_usermetaEl que contiene metadatos, como roles de usuario o permisos de datos. De hecho, su operaci贸n difiere un poco. En pocas palabras, d贸nde est谩 la mesa. usuarios trabajos por columna, usermeta trabaja por l铆nea. Entonces, cuando un usuario se registra en uno de los sitios, la tabla generar谩 l铆neas que contienen los datos ingresados. Solo que estos solo se asociar谩n con el sitio en el que se ingresaron. Estas l铆neas deben duplicarse con una asociaci贸n con el otro sitio en el que nos gustar铆a transferir estos roles. Afortunadamente para nosotros, un “final de c贸digo” resolver谩 este problema.

Duplique autom谩ticamente los roles y permisos de futuros registros ?

Dije “c贸digo final”. Si me lees detenidamente, entonces ya sabes a d贸nde iremos. Dirige la ra铆z de tu primera instalaci贸n de WordPress. Luego siga wp-content 鈫 temas y luego la carpeta que contiene el tema activado. Finalmente, haga clic en functions.phpSiguiendo el c贸digo ya ingresado, pegue estas l铆neas. Por supuesto, deber谩 modificar los prefijos de acuerdo con los que haya ingresado.

function export_usermeta( $user_id, $role ) {

// Site exp茅diteur
$prefix_1 = 'site1_';

// Site receveur
$prefix_2 = 'site2_';

$caps = get_user_meta( $user_id, $prefix_1 . 'capabilities', true );

$level = get_user_meta( $user_id, $prefix_1 . 'user_level', true );

if ( $caps ){
update_user_meta( $user_id, $prefix_2 . 'capabilities', $caps );

}

if ( $level ){

update_user_meta( $user_id, $prefix_2 . 'user_level', $level );

}

}

add_action( 'set_user_role', 'export_usermeta', 10, 2 );

Este c贸digo PHP duplica autom谩ticamente los metadatos ingresados al registrarse en el sitio web # 1 en el sitio web # 2.

Para realizar la misma operaci贸n en la direcci贸n opuesta, deber谩 ir a la functions.php El tema de su segunda instalaci贸n. Luego, solo necesita invertir el orden de prefijo entre el sitio de env铆o y el sitio receptor de la siguiente manera:

function export_usermeta( $user_id, $role ) {

// Site exp茅diteur
$prefix_1 = 'site2_';

// Site receveur
$prefix_2 = 'site1_';

$caps = get_user_meta( $user_id, $prefix_1 . 'capabilities', true );

$level = get_user_meta( $user_id, $prefix_1 . 'user_level', true );

if ( $caps ){

update_user_meta( $user_id, $prefix_2 . 'capabilities', $caps );

}

if ( $level ){

update_user_meta( $user_id, $prefix_2 . 'user_level', $level );

}

}

add_action( 'set_user_role', 'export_usermeta', 10, 2 );

Aqu铆 est谩, voila ! Ha creado con 茅xito un ecosistema de dos sitios de WordPress basado en el uso compartido de usuarios. Google solo tiene que comportarse bien !

Y si ya tengo usuarios que quiero compartir en mi WordPress ?

Esta creaci贸n del ecosistema se puede hacer como parte de una revisi贸n del sitio web. Por qu茅 no ? En este caso, ya tiene un archivo de usuario o dos tablas usuarios y usermeta bien provisto. Bueno, no se asuste, no va a perder a estos usuarios leales amargamente convertidos.

En primer lugar, entiendo que el uso de una extensi贸n puede tranquilizar a muchos de ustedes. Sin embargo, no compartir茅 este medio con usted. Esto se debe a que conozco a pocos que ofrecen exportaci贸n e importaci贸n gratuitas, por un lado. Por otro lado, para los que quedan, no encuentro que lleven a cabo esta tarea correctamente … Pero quiz谩s algunos de ustedes me contradigan en los comentarios. Soy un tomador !

Exporte de forma segura las tablas de usuario

Mientras tanto, le mostrar茅 c贸mo exportar / importar estas tablas directamente a la base de datos. No te preocupes. Mientras adopte los reflejos correctos, la operaci贸n es muy segura ! Y por “buenos reflejos”, quiero decir: siempre guarde sus bases de datos.

Ahora vaya a phpmyadmin y seleccione la base de datos del sitio que se redise帽ar谩 en el men煤 de la izquierda.

Seleccione la base de datos correcta para exportar sus usuarios de WordPress

Vaya a phpmyadmin y seleccione la base de datos del sitio que se volver谩 a grabar en el men煤 de la izquierda.

Luego haga clic en la tabla usuarios en la lista. Una vez dentro, haga clic exportar en la barra de men煤 superior. Aparece una nueva pantalla que le ofrece algunas opciones para refinar la exportaci贸n de la tabla seleccionada. Entre ellos, lo m谩s importante me parece ser el formato de exportaci贸n.

Si el prefijo de las tablas del sitio que se va a refundir es el mismo que el de las tablas presentes en el nuevo sitio, puede optar por un formato de exportaci贸n SQL. Sin embargo, deber谩 eliminar las tablas hom贸nimas en la instalaci贸n final para que la exportaci贸n se pueda realizar sin error.

Si sus prefijos son diferentes, opte por una exportaci贸n CSV. No te preocupes. Articulaciones entre tablas usuarios y usermeta ser谩 mantenido. Incluso en este formato. Sin embargo, verifique que el n煤mero de columnas entre la tabla del sitio que se va a refundir y la del nuevo sitio sea el mismo. Porque algunas extensiones de administraci贸n o suscripci贸n de membres铆a agregan m谩s. De lo contrario, un error impedir谩 la importaci贸n. Por lo tanto, ser谩 necesario, aguas arriba, agregar manualmente cada una de las columnas en la tabla del nuevo sitio.

Exporte de forma segura usuarios de WordPress

Le mostrar茅 c贸mo exportar / importar estas tablas directamente en la base de datos.

Cualquiera sea el formato, reproduzca la operaci贸n de manera id茅ntica para la tabla usermetaDos archivos a nombre de las tablas correspondientes se descargan a su computadora.

Importar estrictamente las tablas de usuario

Ahora vaya a la base de datos del nuevo sitio a trav茅s de phpmyadmin. Haz clic en Importar en la barra de men煤 superior. Aparece una pantalla con todas las opciones necesarias para la importaci贸n.

Importar usuarios de WordPress en una base de datos

Ahora vaya a la base de datos del nuevo sitio a trav茅s de phpmyadmin. Haga clic en Importar en la barra de men煤 superior.

Para completar, en el caso de una importaci贸n CSV, primero debe seleccionar la tabla correspondiente antes de hacer clic en ImportarA trav茅s del bot贸n Examinar, puede importar un archivo a la vez. Si la operaci贸n no se realiza autom谩ticamente, deber谩 elegir el formato de importaci贸n (SQL o CSV).

Ah铆 est谩 hecho ! Todos los usuarios de su antiguo sitio web han sido importados con 茅xito. Excepto que su (s) rol (s) y sus permisos no se han duplicado. Por desgracia, deber谩 realizar la operaci贸n manualmente en cada sitio del ecosistema. Que yo sepa, no hay una solicitud SQL para realizar esta operaci贸n con un solo clic. Pero tal vez solo soy ignorante ? Dime en comentarios !

Afortunadamente, existe otra soluci贸n en el men煤 de usuarios de administraci贸n de WordPress. De hecho, un peque帽o men煤 desplegable permite asignar un rol en masa a los usuarios de la lista.

Asigne roles a antiguos usuarios compartidos en WordPress

Un peque帽o men煤 desplegable permite asignar un rol en masa a los usuarios de la lista.

驴Por qu茅 compartir sus usuarios entre sus sitios de WordPress? ?

Si tiene varios sitios de WordPress para registrarse, compartir usuarios puede ser una buena idea. De hecho, para usted, es una forma de llevar a sus usuarios leales a un sitio a otros. Esto aumenta su tr谩fico.

Tambi茅n es un activo en t茅rminos de UX (experiencia del usuario). Porque, en internet, cuanto m谩s simple, m谩s r谩pida es la conversi贸nEn este sentido, el registro en un sitio puede caer mucho. Especialmente si tiene que completar un formulario. De todas formas,. al centralizar las membres铆as, simplifica enormemente el funcionamiento de su sitio web.

Sin embargo, tal vez eres bastante experto en el entorno multisitio ? Eso es bueno, tengo la intenci贸n de revisar muy pronto los medios para compartir sus usuarios de WordPress en varios sitios !

Y ya se ha preguntado sobre esta cuesti贸n de compartir usuarios en WordPress ? Si es as铆, 驴c贸mo lo hiciste? ? No dude en compartir sus experiencias en los comentarios !

Te puede interesar:  Widget de 煤ltimas entradas con im谩genes en WordPress

Deja una respuesta

Tu direcci贸n de correo electr贸nico no ser谩 publicada. Los campos obligatorios est谩n marcados con *

Share This