Exibindo a quantidade de comentários do tipo spam no WordPress

Uma das pestes para quem gerencia blogs são os spams em comentários. Atrapalham, enchem a paciência e nos fazem perder tempo moderando-os. No meu blog pessoal (onde uso WordPress como gerenciador), resolvi fazer um contador de spams. Como?
Nos templates do WordPress o desenvolvedor tem no contexto um objeto $wpdb, que abstrai o banco de dados do mesmo. Ele tem um método, get_results(), onde você pode fazer uma query SQL. No caso, ao invés de chamar a tabela pelo nome dela, podemos usar $wpdb->comments (esse atributo retorna o nome da tabela; vale a pena fazer dessa forma, pois com isso mantemos um certo desacoplamento). A coluna na tabela que marca o status de um comment é a comment_approved; spam é o status para comentários marcados como spam.

Então, o código é:

 <?php
    global $wpdb;
   $spamComments = $wpdb->get_results("SELECT * FROM " . $wpdb->comments . " WHERE  comment_approved="spam"");
   echo sizeof($spamComments);
?>

 No caso, eu poderia ter usado o COUNT do SQL – seria mais performático, inclusive – mas retirei esse código de uma implementação que fiz onde eu precisava da lista de comentários futuramente…

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *