En primer lugar, Multisite no es lo que estoy buscando. Tengo 5 sitios web que usan Wordpress, todos en dominios separados para los que me gustaría habilitar cuentas de usuario. Necesito que los datos del usuario se compartan en toda la red y cuando un usuario crea una cuenta, también tendrán acceso instantáneo a todos los demás sitios web. Wordpress no recomienda lo que intento hacer cuando uso Multisite:
Si planea crear sitios que estén fuertemente interconectados, que compartan datos o compartan usuarios, entonces una red multisitio podría no ser la mejor solución. - http://codex.wordpress.org/Before_You_Create_A_Network (1er párrafo, 3ra oración)
He intentado usar el "truco de la tabla de usuarios compartidos" como se menciona aquí http://wordpress.org/support/topic/multiple-sites-same-users-how y aquí http://xentek.net/articles/528/ implementando-the-wordpress-shared-users-table-trick / y varios otros lugares ... el problema es que esta información tiene entre 2 y 7 años y estoy usando Wordpress 3.5.1 y este "truco" no funciona Parece que no funciona.
Intenté insertar este código en wp-config alrededor de la $table_prefix
línea.
define('CUSTOM_USER_TABLE', 'wp_users');
define('CUSTOM_USER_META_TABLE', 'wp_usermeta');
En pocas palabras, no creo que este truco funcione más, ya que no puedo iniciar sesión en el segundo sitio en el lado del administrador.
¿Alguna sugerencia sobre cuál sería la mejor manera de vincular estos datos?
CUSTOM_USER_TABLE
qué no funcionaría ... Vea si hay algo aquí: wordpress.stackexchange.com/search?q=CUSTOM_USER_TABLERespuestas:
Ok, antes que nada, me siento como un idiota, aunque en mi defensa la mayoría de los artículos que hablan sobre esto no mencionan un detalle crucial para que esto funcione. La respuesta es que debe establecer un permiso para al menos un administrador en la base de datos. Esta información se puede encontrar en el Codex aquí: http://codex.wordpress.org/Editing_wp-config.php#Custom_User_and_Usermeta_Tables
Después de configurar el archivo wp-config.php, es imprescindible que realice un cambio en el campo de la tabla maestra usermeta (en mi caso wp_usermeta) wp_capabilities y la columna meta_value. Haga esto a través de phpMyAdmin.
Nota: Haga esto para que al menos un administrador de usuario inicie sesión. Puede ajustar todos los demás roles de usuario / administrador desde el backend una vez que ingrese.
Para cada sitio web que se crea, debe tener ese prefijo de sitios nuevos asignado a la función de usuario administrador.
En mi caso, ya que solo tengo esto funcionando en 2 sitios en este momento, se ve así:
La primera línea establece los permisos para el prefijo de tabla predeterminado (en este caso wp_), y la segunda línea establece los permisos para el segundo sitio web (en este caso con el prefijo tbs_).
¡Gracias a brasofilo por el comentario que me indicó que profundizara un poco más para finalmente resolver mi problema!
Espero que esta respuesta pueda ayudar a otros que tenían el mismo problema que yo.
fuente
Al compartir wp_users y wp_meta hay otro problema, otra instalación de WordPress reconoce a los usuarios pero no reconoce las funciones de los usuarios que provienen del otro sitio web . El rol aparece como indefinido.
Entonces, editó su wp-config.php según sea necesario:
Creo que la forma más fácil de hacer esto, sin jugar con el db, es usando wp internos. Al iniciar sesión, es posible asignar un rol. Digamos que necesitamos el rol de contribuidor para todos y el rol de administrador para el usuario 'superman'.
Por lo tanto, los usuarios que provienen del sitio web inicial obtienen el rol de "contribuidor" asignado cuando inician sesión.
http://codex.wordpress.org/Class_Reference/WP_User
fuente
Tuve que crear una nueva fila:
meta_key='tbs_capabilities' meta_value='a:1:{s:13:"administrator";b:1;}'
y
user_id=1
. El método que describiste no funcionó.fuente