Consultas SQL en WordPress para cambiar usuarios, autores y comentarios

A veces tenemos que cambiar o eliminar usuarios de WordPress, y cambiar el autor de las publicaciones y los comentarios existentes a otros usuarios/autores WordPress existentes. Vamos a ver cómo hacerlo con SQL desde phpmyadmin.

 
Consultas SQL en WordPress para cambiar usuarios autores y comentarios
 
En este artículo:
 

 

 

 

 
Tenemos el usuario1 y queremos hacer propietario de todos sus posts al usuario nuevousuario.

Primero veamos los artículos existentes, que pertenecen al usuario1:

autor entradas wordpress

 

(si es que no existe ya) No nos olvidemos de crear el nuevo usuario en wordpress, que con la consulta sql que ejecutaremos se convertirá en el autor de las entradas.

 

Antes de proceder a la consulta SQL, tenemos que encontrar el ID del usuario anterior y del usuario nuevo.

 

La forma “casera” de averiguar el ID de un usuario / autor en WordPress

 

Lo podemos encontrar en la sección usuarios de WordPress, al pulsar editar sobre un usuario, arriba en la barra de direcciones, se nos mostrará cual es el id del usuario:

averiguar id usuario autor de posts en wordpress

 

vemos id de usuario wordpress en la barra de direcciones

 

Consultas SQL para averiguar el ID de usuario / autor en WordPress

 

  • Para listar todos los usuarios de WordPress, con todas las columnas, lo que incluye el nombre y el ID de usuario, usaremos esta consulta SQL

    :

 

SELECT * FROM `wp_users` WHERE 1

 
sql para listar todos usuarios wordpress

 

 

Y podemos ver el resultado de la consulta, que muestra los usuarios existentes en WordPress:

resultado sql consultar todos usuarios de tabla wp_users

 

  • Consulta sql para averiguar el ID de los autores, el título y  el ID de los artículos en WordPress

    :

SELECT`ID`,`post_title`,`post_author`FROM`wp_posts`

 

consulta sql wordpress listar posts autor

 

 

Consultas SQL para cambiar el autor propietario de los artículos y otros campos del usuario en WordPress

 

Ahora que ya tenemos una idea de los autores que hay en nuestra base de datos, y en qué artículos, vamos a comenzar con el cambio.

Hay varias cosas que debemos cambiar:

  • Cambiar el mail del usuario en todos los comentarios del blog.
  • Cambiar el autor de los comentarios en todo el blog, y asignar los comentarios al nuevo autor.
  • Asignar a tu usuario todas las entradas

 

cambiar la dirección de mail del usuario original en todos los comentarios que haya

  • Primero vamos a cambiar la dirección de mail del usuario original en todos los comentarios que haya (tabla wp_comments) y la cambiaremos por la nueva dirección de mail del nuevo usuario/autor al que queremos asignar después los artículos del blog:
UPDATE `nombre_base_de_datos`.`wp_comments` SET `comment_author_email` = '[email protected]' WHERE `comment_author_email` = '[email protected]'

consulta sql wordpress para cambiar mail en todos los comentarios
 

 

Cambiar en todos los comentarios del blog, el autor de los comentarios (los reasignamos, de un autor a otro)

  • Cambiamos en todos los comentarios del blog, el autor de los comentarios; cambiamos el autor viejo y asignamos los comentarios al autor nuevo (Reasignamos todos los comentarios del usuario1 a nuevousuario):
UPDATE `nombre_base_de_datos`.`wp_comments` SET `comment_author` = 'nuevousuario' WHERE `comment_author` = 'usuario1'

 

Aquí vemos un comentario del usuario1 antes de efectuar la consulta SQL:

asignar comentarios de un usuario a otro usuario en wordpress

 

Hemos ejecutado la consulta para asignar los comentarios del usuario usuario1 al usuario nuevousuario:

asignar comentarios de un usuario a otro usuario en wordpress con SQL
 

Y comprobamos que efectivamente, el autor de los comentarios ha sido modificado:

asignar comentarios de un usuario a otro usuario en wordpress con SQL phpmyadmin

 

cambiar el autor de las publicaciones en WordPress

  • Y ahora vamos a cambiar el autor de las publicaciones en WordPress con una consulta SQL (para asignar todas las entradas al nuevo usuario), haciendo que la consulta cambie el ID del usuario. La consulta busca el ID del antiguo autor y la cambia por el ID del nuevo autor.  En nuestro caso buscamos las publicaciones  del ID de usuario 4, y las asignamos a el ID de usuario 5.

 

UPDATE `nombre_base_de_datos`.`wp_posts` SET `post_author` =5 WHERE `post_author` = 4

 
sql para cambiar el id de autor de publicaciones wordpress
 

 

Comprobando resultados de las consultas ejecutadas en la base de datos de WordPress

 

Veamos los resultados. Antes podíamos ver que el usuario1 era el autor de 5 entradas:

autor artículos wordpress cambiado

 

Después de las consultas anteriores, comprobamos que las publicaciones que tenían como autor al usuario1, ahora tienen como autor al usuario nuevousuario:

 

hemos cambiado autor de los articulos wordpress

 

 

Otras consultas SQL para modificar usuarios WordPress y demás

 

Cambiar el nombre de un usuario en WordPress y cambiar su nicename

 
Si has intentado cambiar el nombre de un usuario desde la sección de administración de usuarios, verás que WordPress no deja hacerlo desde el backend:

wordpress el nombre de usuario no puede cambiarse

 

Pues por mucho que nos diga WordPress, vamos a cambiarlo.

Abrimos phpmyadmin y nos disponemos a ejecutar estas consultas.

 

Primero, visualizamos los campos que tiene la tabla wp_users:

SELECT * FROM `wp_users` WHERE 1

Vemos que los campos que nos interesa cambiar son el campo user_login (nombre de usuario) y el campo user_nicename.

 

Pues los cambiamos así:

  • Cambiar el nombre del usuario en WordPress por medio de sql en phpmyadmin
UPDATE `nombre_base_de_datos`.`wp_users` SET `user_login` = 'Perico los palotes' WHERE `wp_users`.`user_login` = 'usuario1'

wordpress cambiar nombre de usuario con sql en phpmyadmin

 

Y comprobamos que el nombre de usuario ha cambiado:

wordpress nombre de usuario cambiado

 

Y en el perfil del usuario lo comprobamos, hemos cambiado sin problema el nombre del usuario:

wordpress cambiado user name

 

 

  • Cambiar el nicename del usuario en WordPress

El nicename es la versión “saneada” de user_login. Normalmente si tu nombre de usuario es simple (sin caracteres especiales), el nicename será igual. Pero si tu nicename es por ejemplo [email protected], el nicename será usuarioejemplo-com.  El nicename se usa en las ULR de autor.

 

Pues vamos a cambiar el nicename del usuario nuevousuario:

UPDATE `nombre_base_de_datos`.`wp_users` SET `user_nicename` = 'lo-cambie-con-sql' WHERE `wp_users`.`user_nicename` = 'nuevousuario'

cambiar nicename de usuario wordpress

 

Y ahora podremos ver ese nicename, en la URL de la página de autor:

 

nicename url de autor wordpress