Categorías
programación WordPress

Contador de comentarios en WordPress

Ejecutando este script debería funcionar:


$mysql_server = "localhost";
$mysql_user = "";
$mysql_pass = "";
$mysql_database = "";
$mysql_link = false; // Conexión de la base de datos. Que también hace falta ;). $mysql_link = mysql_connect($mysql_server, $mysql_user, $mysql_pass) or die("hay un error en $PHP_SELF y el error está en: " .mysql_error());
mysql_select_db($mysql_database, $mysql_link)or die("hay un error en $PHP_SELF y el error está en: " .mysql_error()); $query_entradas = "SELECT * FROM wp_posts";
$entradas = mysql_query($query_entradas, $mysql_link); //Hacemos un recorrido de todas las entradas
$entradas_row = mysql_fetch_row($entradas);
while ($entradas != false) // Y hasta que se acaben, miramos cuántos comentarios tiene
{
$id = $entradas[0]; $query_comentarios = "SELECT COUNT(*) FROM 'wp_comments' WHERE 'comment_post_ID' = $id";
$comentarios = mysql_query($query_comentarios, $mysql_link); // Cuántos comentarios hay $query_update = `UPDATE 'wp_posts' set 'comment_count' = $comentarios WHERE 'ID' = $id`;
$up_query = mysql_query($update_query, $mysql_link); // Actualizamos $entradas_row = mysql_fetch_row($entradas); // Seguimos recorriendo el bucle }?>

Pero mi servidor está tonto hoy y dice que no quiere ejecutar php, que le viene mal. Luego sigo intentándolo.

_____

Actualización: estoy torpe. Nunca recuerdo que las consultas, aunque sean de un solo campo, devuelven un array y hay que ‘capturarlo’ para que se muestre.

El código:

$query_entradas = «SELECT * FROM wp_posts»;
$entradas = k_query($query_entradas); //Hacemos un recorrido de todas las entradas
$entradas_row=mysql_fetch_row($entradas);
while ($entradas_row != false)? // Y hasta que se acaben, miramos cuántos comentarios tiene
{
$id = $entradas_row[0];
$query_comentarios = «SELECT COUNT(*) FROM wp_comments WHERE comment_post_ID = $id»;
$comentarios = k_query($query_comentarios); // Cuántos comentarios hay
$comentarios_row=mysql_fetch_row($comentarios);
$query_update = «UPDATE wp_posts SET comment_count = $comentarios_row[0] WHERE ID = $id»;
k_query($query_update); // Actualizamos
$entradas_row=mysql_fetch_row($entradas); // Seguimos recorriendo el bucle
}
(k_query es una función que automatiza las consultas).

Por Rafa Poveda

Rafa Poveda es un evangelista del software libre y en concreto de WordPress, software con el que lleva trabajando desde 2007.
Actualmente es CTO de MyTinySecrets LTD y Jefe de proyectos en Pixelated Heart, donde enseña a otras compañías a comunicarse y a tener una presencia online utilizando WordPress como su herramienta principal. También trabaja enseñando WordPress dando clases en masters y cursos in-company para desarrolladores.

5 respuestas a «Contador de comentarios en WordPress»

Deja un comentario