Bien, yo en su momento jugué con los usuarios en la tabla wp_users. Hice cambios, eliminé usuarios, intercambié y volví a su estado origial autores con sus artículos. Incluso cambié roles de usuarios en la tabla wp_usermeta puse administrador a quien no lo era y viceversa. Esto último no es necesario hacerlo puesto que cuando creas un nuevo usuario puedes cambiar desde el escritorio los permisos o roles sin necesidad de cambiar absolutamente nada en la base de datos, ya WordPress hace los cambios por ti.
Si eliminaste un usuario, habrá que crear otro exactamente igual, mismo nombre, mismo avatar, mismo email, etc, desde la ventana de perfil. Una vez hecho esto se le asigna el ID 1 puesto que se supone que fue el primer usuario administrador de la base de datos. El ID 1 en la tabla wp_users sólo tiene correspondencia con otro valor de la tabla wp_usermeta, campo user_id.
Si esto no restaura del todo los posts habrá que asignar cada post a este usuario nuevo puesto que pertenecían al usuario desaparecido. Esto es fácil de hacer también desde phpMyAdmin. Si quieres, para ir adelantando mira (no toques nada sólo mira) a qué usuario corresponden los post escritos por el autor eliminado. Eso está en la tabla wp_posts campo post_author
Quita la reasignación de usuario de Simple Press para que sepas cuando todo vuelve a su normalidad.
También es verdad que no sabemos que hizo el plugin, ahí está el problema. Igual me descargo el plugin y miro en sus entrañas para saber mejor que ha hecho.
Yo no sé si todas estas pruebas ya las hiciste, de ahí que te preguntara por dónde te habías quedado.
Saludos
alias79 dijo:
¿sabes eso que se dice a veces de "ojalá me hubiera estado quietecito"?
Buf, eso lo he dicho yo como 100 veces xD. El portátil de la escuela me lo he cargado como 5 veces, minecraft 4 veces, por los mods, y mi ordenador otras 3...
Me ha costado seguir el hilo,pero yo entendí esto: Por jugar a ser Dios, se ha eliminado tu usuario, y te has creado otro exactamente igual. Le has conseguido reasignar a este el borrado, de manera engorrosa, tus datos, además del rango administrador. Si Alias79 original (ni que fueses un clon ) sigue existiendo en otra tabla, no bastaría con copiar esos datos a Alias79 2, y vincular las dos cuentas? De este modo, serían dos usuarios pero uno, los datos de A2 se eliminan, se sustituyen por los de A1, y lo posteado con A2 pertenece a ambos. No me hagas mucho caso, de verdad
...
Intenté crear un usuario igual, pero me di cuenta que no funcionaría . El caso es que el usuario en principio no habría que crearlo, por que no está eliminado; lo que hace este plugin es (es que es un follón de explicar):
- Antes de ejecutar el plugin, mi usuario Alias79 tenía ID= 1
- El plugin dejó el usuario intacto, pero generó un nuevo ID para él (sólo le cambió el ID por el nuevo en todas las tablas que contienen el valor ID=1). El plugin hace esto por que dice que no es seguro tener un usuario que sea ID=1, cosa que entiendo que es cierto (para evitar posibles hackeos a ese usuario, mejor que nadie sepa el número), pero debería advertir de las consecuencias! Seguro que es genial hacerlo en una instalación nueva de WP, pero no en una con tanto tiempo!
- Después de los cambios que hizo el plugin, cuando entré al foro por primera vez, el foro me dio el mensaje de bienvenida como nuevo usuario, pero no me dejó entrar por que decía que no podían existir dos usuarios con el mismo nombre; tras saltarme esa pantalla, a la hora de postear, el contador de mensajes cuenta desde cero porque para el foro existen dos usuarios "alias79" (realiza entradas en tablas independientes), uno con ID= 1 (que tiene asignadas todas las entradas), y el nuevo, al cual estoy reasignando todas las entradas al ID=1, para que cuando haga todos los cambios esté todo igual en el foro.
En resumen, en la BBDD de wp_user y wp_usermeta, donde antes indicaba ID=1, ahora pone el nuevo ID. Si creara un nuevo usuario, con idénticos datos al original, y le asignara el ID=1 no arreglaría el problema , ya que todos los datos que antes estaban asociados al ID=1, están ahora con el nuevo; por lo que entiendo que hay dos soluciones posibles:
1.- Devolver el ID= 1 a todas las tablas donde pone que ID= al nuevo número (supongo que sólo ha afectado a wp_user y wp_usermeta). Manualmente puede ser una locura, por que vi que había cientos y te puedes dejar alguno, o incluso puede haber cambiado otras tablas.
2.- Reasignar en las BBDD del foro todos los mensajes que indica ID=1 al nuevo ID. O lo que es lo mismo, modificar más de 7.000 entradas, y tablas de permisos, también una locura si lo haces manual.
Espero haberme explicado… Todo esto es nuevo para mi, , lo único con lo que cuento en este sentido es con la lógica.
PD: Ojalá fuera tan sencillo As . Hay cientos, digo miles de entradas en las tablas de las BBDD. Si fuera otro usuario, tadaría un minuto en arreglarlo, pero con el mío es complicado. Quise solucionar algunos problemas de seguridad de la web, y este era uno de los que aconsejaba un plugin de seguridad; normalmente cuando se hacen este tipo de cambios se pueden revertir, o te advierte que no son reversibles y sus consecuencias (o quizás tendría que habermelo pensado o haberme informado mejor); estuve viendo otras opciones del plugin antes de activar esta, y se podían revertir, por eso quise probar, y tras darle al botoncito... Zasca!
Lo cierto es que parece un muy buen plugin, y como digo, si es una instalación nueva, osea, una web nueva sin entradas, aplicar todas estas cosas desde un principio seguro que son vitales; no en vano este plugin tienen miles de descargas y una puntuación altísima.
OK, al cambiar el ID del usuario el Foro cree que es un usuario nuevo.
Bien, entiendo que el plugin cambió el ID del usuario admin que era antes 1 y le asignó sus entradas, ese detalle no lo sabía. Entonces puedes loguearte y escribir posts con tu nombre de usuario de siempre. De hecho cuando consultas por el autor muestra sus posts perfectamente, sólo ha habido cambio de ID.
Si es así, el problema sólo es del Foro, hay que buscar el ID 1 en las tablas del plugin y sustituirlo por el nuevo ID. Algo similar a lo que hizo Better WP Security con los posts pero ahora hacerlo en las tablas correspondientes al Foro. ¿Es correcto lo que estoy diciendo? Esto no parece complicado...
Como se ve que no conoces phpMyAdmin...
Correctísimo. Son dos formas de darle solución; una es dejarlo como estaba todo antes de que el plugin modificara el ID, y la otra es arreglar definitivamente el problema, en base a la solución que propone el plugin, que es modificando las tablas del foro . No creo que haya nada más que afecte a este tema.
Estuve trasteando con phpMyAdmin, pero todo esto es nuevo para mi, jejeje. Cuando curraba, tenía un par de técnicos SQL a disposición.. Se encargaban de soporte para clientes y de las personalizaciones de software... yo sólo era el gestor de departamento de software y hardware... dirigía, y comprendía como funcionaban las cosas, pero no temas muy técnicos.... jamás me planteé que algún día necesitaría saber de esto!! Anda que no los estoy echando de menos ahora .
Recuerdo que decían que con consultas SQL se podía modificar absolutamente todo, que sólo se necesitaban los parámetros que se precisaba modificar... y en unos minutos arreglaban todos los entuertos.
Entiendo como debe funcionar, y es peligroso! Modificar un valor que es "1", puede ser peligroso porque puede abarcar a otros que contengan ese número (tengo que ver como se concreta tanto), y hacer copias de seguridad de esas tablas concretas. Ayer estuve viendo una web que explicaba como hacer modificaciones masivas, y vi también el tema de las comillas que ya me enseñaste tu hace tiempo, que unas comillas no son iguales que otras, y la puedes liar, jejeje
Claro, es que me había despistado eso de que no podías volver a poner el ID 1. Qué más da el ID que tenga si todo funciona bien.
Aquí las dos opciones:
1 Opción - Modificando el ID del usuario en wp_users
A favor:
- La forma de organizar las tablas de la base de datos que vienen por defecto en WordPress las conocemos.
En contra:
- Vuelve a ser el usuario con ID 1
- Hay que volver a deshacer lo que hizo el plugin, asignando los posts al usuario ID 1
2 Opción - Modificando las tablas del Foro:
A favor:
- No es tan drástico fastidiar el foro
En contra:
- Ni idea de cómo organiza el Foro los usuarios, habría que cambiar el ID o similar del usuario 1 por el que tenga actualmente en todas las entradas del Foro.
Aún así me decanto por la segunda opción puesto que la información es más importante en el blog que en el Foro en caso de perdida por error. Si tengo tiempo miro las tablas del Foro.
Un saludo
Opción 1: También en wp_usermeta, ¿no? El nuevo número de ID está reflejado por toda esa tabla.
Opción 2: Casi que si sería mejor. Por lo que vi, me parece que puede que exista una tabla donde están los datos de los usuarios (ficha asociada a su ID), y luego otra para los posts, donde están todos ellos asociados a un post. Una de ellas era wp_sfmembers
Quizás el nuevo número de ID (que no quiero escribirlo en el foro, por que entonces no serviría de nada el tema de cambiar el nº 1 al nuevo, jejeje), pongamos que fuera 357 (es de tres cifras), sería más fácil de identificar realizando una búsqueda, ¿no? Me refiero a que si buscamos "1" saldrán más resultados que si buscamos "357", aunque supongo que se podrá decir que el resultado sea igual a "1".
Si, en realidad son tres tablas las afectadas, de memoria serían wp_users, wp_usermeta y wp_posts. Pero olvidemos esto porque ya digo las posibilidades de errores son mayores.
He mirado las tablas del Foro, wp_sfmembers contiene los IDs de los miembros del Foro que deben corresponder con los IDs de WordPress. En principio habrá que comprobar que tienes el ID adecuado y si no es así modificarlo por el nuevo.
Después está wp_sfposts que es la que relaciona el ID del usuario con el post (comentario) del foro. Cambiando el viejo ID por el nuevo todo debe volver a la normalidad en el Foro.
El código SQL a ejecutar desde phpMyAdmin sería:
UPDATE wp_sfposts SET user_id = replace(user_id, '1','357');
suponiendo que el nuevo usuario tenga el ID 357
… el código está comprobado, esperemos que no pase nada…
Yo diría que LGrusin podría ser otro Admin del foro, porque la ayuda que le está prestando a Alias (no os mentiré, no entiendo ná de ná ) parece importante, |(• ε < ) |
LGrusin dijo:
… el código está comprobado, esperemos que no pase nada…
A ver, crucemos los dedos que me voy a preparar para hacerlo!!! Primero, a hacer copia de seguridad de esas dos tablas...
Y a continuación, según creo, tengo que hacer esto:
1º:
UPDATE wp_sfposts SET user_id = replace(user_id, '1','357');
2º
UPDATE wp_sfmembers SET user_id = replace(user_id, '1','357');
No??? Claro, sustituyendo el 357 por el número correcto
Shadows, si no fuera por LGrusin y la ayuda que me brindó al principio, NextN lo mismo ni existiría! Así que este año que ha hecho la web, en parte es gracias a la paliza que le di hace justo hace un año con temas del diseño y diversos problemas de la web, jejeje
O sea, que le debemos Nextn casi totalmente? Vaya... entonces Founder, no?
Bueno, bueno, menos flores que tampoco es para tanto…
A ver, el código era para la tabla wp_sfposts. Da la casualidad que el campo user_id existe en las dos tablas, si no hubiese sido así te hubiera dado error en wp_sfmembers.
Para la tabla wp_sfmembers había que buscar el ID y cambiarlo, sólo es uno, no se repite más, es un ID diferente para cada usuario. Pero si quieres teclear SQL...
Si, la verdad es que todo este rollo debería estar en otro hilo o foro, no tiene nada que ver con el título del hilo aunque más de uno lo esté viendo en 3D…
Lo bueno de todo es que he podido comprobar que se hacer copias de seguridad de la BBDD y restaurarlas con éxito, jejeje.
Te comento, por que apliqué todo lo que habíamos hablado, y comenté después, pero al restaurar la copia de la BBDD todos los comentarios que hice en este post se han borrado… por suerte, tenía el navegador abierto y puedo rescatar lo que escribí.
Al aplicar la consulta SQL me salió este mensaje:
9990 fila(s) fueron afectadas. ( La consulta tardó 0.0484 seg ) (algo que me extrañó, por que tengo 7770 entradas con mi usuario)
Luego entré en wp_sfmembers, eliminé el usuario que se había creado nuevo (el "357" que tenía 0 entradas) ya que no me permitía modificar el usuario 1 con el "357" por que decía que el "357" existía. Modifiqué el usuario 1 con el 357, y todo bien.
Miré y todo estaba en su sitio; podía postear con normalidad, las opciones del foro desde el panel de administración de WordPress habían vuelto a la normalidad (antes de aplicar la consulta se veían rarísimas, sin elementos gráficos, todo sobre un caótico fondo blanco desde que el plugin hizo estragos).
Luego me puse a revisar los mensajes que tenía por mirar… Extrañamente me decía que tenía más mensajes por leer de los que esperaba (unos 18), pero al entrar en ellos, vi que había algunos mensajes creados por un tal "Guest" (ver imagen), como si hubiera permitido en el foro que los visitantes sin registrar pudieran comentar.
Revisé a toda prisa y vi que se trataba de los mensajes de un usuario que tiene en su ID el número 1, y otro nuevo usuario que también tiene el número 1 entre los números de su ID. No miré más profundamente, por que cada segundo que pasaba podía pasar algo (como que postearan y tuviera que borrarse tras aplicar la restauración).
¿Puede ser por esto del nº 1? El caso es que no me los asignó a mi, si no a nadie, parece que eliminó el usuario de esos posts.
Que ratito de jiñamiento que he pasado, jajaja, pero da gusto ver a las copias de seguridad hacer su trabajo
Creo que lo del nuevo ID 1 es anecdótico y no hay que darle más importancia. Supongo que WordPress ve un hueco vacio y pone ahí los nuevos usuarios que se van creando. Al fin y al cabo lo del 1 significa que fue el primer usuario que se creó en sus inicios, pero después al eliminar usuarios se descolocará. El Foro lo único que hace es "mirar" en los usuarios de la tabla wp_users para crear los suyos, pero no actualiza si hay cambios posteriores.
Lo del número de filas afectadas son intervenciones de ese usuario, es decir, las propias entradas y las respuestas a entradas de otros. Así lo interpreto yo. No te digo nada si hace como el blog que guarda borradores y revisiones también de las entradas.
Entonces que yo me entere, ¿Se quedó bien del todo, o mejor que como estaba antes?.
Las copias lógicamente deben hacerse de bases de datos que tengan los datos correctos y actualizados. Si restauras una copia incompleta o desactualizada pues obtendrás lo mismo.
De todas formas comprendo que es un coñazo hacer un backup cuando hay comentarios o gente escribiendo. Eso pasa por tener tantos usuarios… La próxima podrías bloquear la escritura de comentarios tanto en el blog como en el foro antes de hacer un backup, o poner el sitio en mantenimiento para que puedas trabajar cómodamente.
Saludos
Yo creo que pasó lo siguiente: la consulta SQL debía modificar 7700 comentarios que tenían ID=1, para poner en su lugar 357, pero afectó a 9990; a 7700 comentarios se les cambió correctamente el ID, pero 2.200 comentarios se quedaron sin autor, afectándole a autores concretos (algunos de ellos tienen más de 1.000 mensajes, y no se podía ver de quien era el mensaje, indicaba "Quest").
Al restaurar la copia, todo volvió a como estaba antes de hacer la consulta SQL, por lo que estoy como antes de realizarla