Hace algún tiempo atrás les mostré cómo administrar sitios WordPress con comandos, era a través de un script perl. En este caso les mostraré específicamente cómo administrar comentarios de un WordPress mediante consultas SQL, o sea, mediante comandos en la consola de MySQL.
Lo primero a tener en cuenta es que deben tener acceso a la terminal o consola de MySQL, supongamos que accedemos al servidor por SSH y dentro de él escribimos:
mysql -u root -p
Una vez escrito esto y presionado Enter les pedirá el password de ese usuario de MySQL, lo escriben, presionan de nuevo Enter y listo, ya habrán accedido:
Una vez dentro del shell de MySQL debemos indicar qué base de datos vamos a usar, pueden ver las bases de datos disponibles con:
show databases;
Esto les mostrará como dije las bases de datos disponibles, supongamos que la deseada se llama sitiowordpress, pasemos a usarla:
use sitiowordpress;
Revisemos cómo se llaman las tablas con:
show tables;
Esto nos dirá los nombres de las tablas, sumamente importante pues debemos ver cuál es exactamente el nombre de la tabla relacionada con los comentarios: comments
Generalmente se llama wp_comments o de forma similar, lo importante es que siempre termina en: comments
Eliminar comentarios SPAM
Con esta línea se borrarán todos los comentarios que están marcados como SPAM:
DELETE from wp_comments WHERE comment_approved = 'spam';
Eliminar todos los comentarios pendientes de moderación
DELETE FROM wp_comments WHERE comment_approved = '0';
Reemplazar texto en todos los comentarios
Supongamos que deseamos buscar en todos los comentarios la palabra «politicos» y reemplazarla por «corruptos», sería:
UPDATE wp_comments SET `comment_content` = REPLACE (`comment_content`, 'politicos', 'corruptos');
Eliminar comentarios según URL del sitio del autor
Supongamos que por determinado motivo deseamos eliminar todos los comentarios de cualquier usuario que al comentar, haya especificado en los datos del formulario de comentar (nombre, sitio y correo) que su sitio era http://taringa.com (por citar un ejemplo), sería entonces así:
DELETE from wp_comments WHERE comment_author_url LIKE 'http://taringa.com';
Cerrar comentarios en artículos antiguos
Conozco de personas que desean cerrar los comentarios en posts viejos de sus sitios, entonces deben editar los posts de uno en uno para así desactivar la opción de «comentarios habilitados» en cada uno, esta línea les solucionará la vida:
UPDATE wp_posts SET comment_status = 'closed' WHERE post_date < '2010-02-10' AND post_status = 'publish';
Como pueden ver, en la mitad de la línea está una fecha, 2010-02-10, esto significa que todos los posts que estén publicados y tengan una fecha de publicación inferior al 10 de febrero de 2010 (o sea, se hayan publicado antes) cerrarán los comentarios, ya nadie podrá comentar en ellos.
Cerrar los comentarios en todos los artículos
En caso de que no deseen cerrar los comentarios solo en algunos posts sino en todos, esta línea les servirá:
UPDATE wp_posts SET comment_status = 'closed', ping_status = 'closed' WHERE comment_status = 'open';
Si desean revertir esto, cambien closed por open y viceversa, y listo vuelvan a ejecutar la línea con los cambios.
Borrar comentarios hechos en determinado rango de tiempo
Supongamos que deseamos borrar todos los comentarios que se hayan hecho el día 1ro de abril de 2014, entre 4:15 de la tarde y 10:40 de la noche, la línea sería:
DELETE FROM wp_comments WHERE comment_date > '2014-04-01 16:15:00' AND comment_date <= '2014-04-01 22:40:00';
Como pueden ver la hora es en formato de 24 horas, o sea, hora militar.
Fin!
Bueno nada más que agregar, sé que a más de uno le resultará interesante esto.
Saludos
Creo que acabas de hackear a Desdelinux sin darte cuenta jajaj
Qué le pasa a la pinta de este artículo? Esto parece taringa.
listo. arreglado.
este alejandro…
jaja! dejá de hacer cagadas alejandro!
cuando te agarre….
Y no tendría más sentido un tutorial de MySQL ?? O, si lo que quieren es «Administrar comentarios de wordpress desde la consola» al menos tener el decoro de presentar un shell script que automatice todas estas consultas.
Igual, acotándome al post mi aporte (vaya novedad!)
Para cargarse la base de datos de WordPress y hacerlo tierra:
DROP DATABASE ;
Espero les sea de utilidad… 😉
Sería más extenso un tutorial de MySQL, querys y demás… pero, para aquellos que solo buscan hacer determinados cambios en los comentarios de un WordPress, les sería poco práctico, no entenderían mucho.
Referente al asunto de tener o no decoro, venga Willians, tú primero aporta algo y luego, luego critica el aporte de otros ok 😉
¿dónde está tu sitio/blog que le es de utilidad a la comunidad? Pregunto porque, hay que tener decoro y dignidad no? ^_^
La mejor parte del post…. politicos – corruptos
+1