Muchas veces note que WordPress, ya sea por algún plugin o bien por errores fortuitos, cuenta mal la cantidad de comentarios en el tablero. Por ejemplo este era el resultado que se podía observar en un tablero cuando todos los comentarios estaban borrados y las carpetas de trash y spam completamente vacías:
El error es claro, si hay 18.361 comentarios, de los cuales nosotros aprobamos todos, vaciamos las carpetas trash y spam, ¿Porque WP sigue diciendo que en total hay 18.400 comentarios? ¿Donde fueron a parar los 39 comentarios de diferencia?
Para solucionar esta diferencia que realmente no es importante pero molesta voy a darles algunas pistas mediante algunas consultas MySQL muy sencillas.
Antes de comenzar, Es muy importante que verifiquen que todos los comentarios estén aprobados, y las carpetas spam y trash completamente vacías.
La primer consulta que vamos a hacer es para verificar que WP este contabilizando correctamente la cantidad de comentarios en la base de datos, para hacer eso vamos a phpmyadmin (o consola, o lo que usen para administrar bases de datos) y escribimos:
SELECT COUNT(*) FROM wp_comments
Esta consulta va a devolver como resultado: 18400. Exactamente lo mismo que indica WordPress desde su tablero.
Ahora vamos a hacer otra consulta, que verifica la columna comment_approved. Esta columna indica mediante un número si el comentario se encuentra aprobado, en moderación, o en alguna carpeta en particular. Cuando este registro se encuentra con el valor 1 significa que el comentario esta aprobado.
SELECT COUNT(*) FROM wp_comments WHERE comment_approved = '1'
Esta consulta va a devolver como resultado: 18361. Perfecto! Lo mismo que dice el señor WordPress, ahora vamos a encontrar esos 39 malditos comentarios perdidos, para hacerlo ejecutamos:
SELECT COUNT(*) FROM wp_comments WHERE comment_approved != '1'
Y finalmente el resultado es 39. Exactamente la diferencia que tenemos. Ahora solo resta analizar de que se tratan esos comentarios, para hacer eso simplemente ejecutamos:
SELECT * FROM wp_comments WHERE comment_approved != '1'
El resultado de esta consulta serán los 39 registros de diferencia, que de manera curiosa (o no tanto) presentan un números o caracteres distintos a los que WP maneja, de ahi el error en el contador, son comentarios que están en el limbo, no están en moderación, tampoco aprobados, ni en las carpetas de spam y trash.
Ahora tenemos dos caminos, ir borrando uno a uno, o si el comentario debe aprobarse modificar el valor de la columna comment_approved por el valor 1. En el caso de querer borrar todos los comentarios que causan problemas (la mayoria de veces son comentarios vacíos, o erróneos) simplemente ejecutamos:
DELETE FROM wp_comments WHERE comment_approved != '1'
Cuidado! Esa consulta elimina todos los comentarios que no esten aprobados, antes de ejecutarla verifiquen que no tienen comentarios reales pendientes de moderación o de lo contrario los van a eliminar permanentemente.
Una vez que eliminamos los comentarios que se encontraban en el limbo de WordPress, el resultado es perfecto:
Nota: Les pido por favor que tengan cuidado y ejecuten las consultas con mucho cuidado, un error puede causarles la perdida de información importante, si no están familiarizados con el uso de MySQL al menos previamente hagan una copia de seguridad.
Hola
14 años ago
Pablo que gusto que tengas el interés de ayudarnos. Hace unos días exprese lo siguiente: «De antemano te agradezco que hayas tenido interés en compartir el artículo. Pero tengo una duda, en mi blog wordpress yo tenía por defecto mis comentarios, pero luego instalé Disqus, que para mí ha sido un dolor de cabeza, ya que después que lo desintalé los comentarios como que se duplicaron, pues en mi panel veo el doble de comentarios que anteriormente tenía, aunque voy a los post y los comentarios no se ven duplicado. Qué estará pasando?, Sabes algo sobre eso?. Te agradecería si me darías una respuesta.»
Pablo sinceramente espero me puedas ayudar, te lo agradecería de antemano.
Mi comentario anterior: http://www.kabytes.com/desarrollo/optimizar-una-base-de-datos-mysql/#comment-81957
Solucionar problemas de contabilidad de comentarios en WP | CMSTECNO
14 años ago
[…] En más de alguna oportunidad es posible que se de un problema relacionado al sistema de conteo de c…. No obstante este pequeño pero para algunos significativo problema de funcionamiento puede ser solucionado rápidamente como bien se explican esta entrada donde se detalla cuáles son los orígenes de una situación como ésta así como también cuáles son los pasos para resolver el problema disponiendo de los números reales en cuanto a cantidad de artículos publicados, número de comentarios, tanto pendientes como aprobados e incluso los que se encuentran en la papelera de reciclajes. […]