Categorías Wordpress

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.

 

 
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:

 

(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:

 

 

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

 

 

 

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

 

  • 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`

 

 

 

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` = 'nuevousuario@eldominio.xyz' WHERE `comment_author_email` = 'usuario1@eldominio.xyz'


 

 

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:

 

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


 

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

 

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

 

 

 

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:

 

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

 

 

 

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:

 

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'

 

Y comprobamos que el nombre de usuario ha cambiado:

 

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

 

 

  • 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 usuario@ejemplo.com, 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'

 

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

 


 

 

Los comentarios de Disqus están cargando....