Puxar informações de comentários do banco de dados do WordPress

Fonte: IMasters/Paulo Faustino

Uma das melhores formas de coletar e-mails dos usuários é através do formulário de comentários do WordPress. Ao invés de usar um plugin, é possível criar uma função customizada para criar uma listagem de e-mails a partir dos dados submetidos pelos usuários. O truque é conseguir puxar a informação dos comentários do banco de dados do WordPress e fornecer, por exemplo, uma caixa de submissão de comentário com subscrição por e-mail.

Essa tática pode ser usada para várias funcionalidades além de coletar e-mails dos usuários, como puxar a informação dos comentários, a data, o URL do comentador, e basicamente toda a informação que esteja na tabela wp_comments do WordPress. Recentemente, os colegas do blog digwp realizaram alguns testes interessantes com essa tabela, e você poderá fazer o mesmo, caso pretenda puxar informações de comentários do banco de dados do seu WordPress.

Você pode puxar e mostrar qualquer tipo de informação dessa tabela em qualquer página ou artigo do seu site. O que você necessita é uma página não-pública (ou outra localização) para mostrar os resultados (“não-pública” especialmente se você quiser puxar e-mails dos usuários). O ideal é você criar uma página privada ou selecionar um template customizado que tenha disponível. Ao carregar a página, aparecem todos os e-mails dos usuários, por exemplo.

Puxar informações do banco de dados

Se você tem uma página com formulário de captura de e-mails e pretende coletar a informação num local específico, para depois contatar esses usuários por e-mail, terá forçosamente que usar algumas funções customizadas do WordPress. Para puxar a informação, teremos que realizar algumas queries no banco de dados do WordPress, selecionar as nossas colunas da tabela wp_comments e depois mostrar essas informações em uma página personalizada/privada.

A respeito das queries SQL, puxar informações da tabela de comentários é muito básico e simples, mas puxar informações de comentários de um artigo em específico, por exemplo, já é bem mais complexo. Para fazê-lo, iremos necessitar da seguinte query:

SELECT DISTINCT comment_author, comment_author_email, comment_author_IP
FROM (
SELECT DISTINCT comment_author, comment_author_email, comment_author_IP
FROM wp_comments WHERE comment_post_ID = 1
) AS WHATEVER

Como pode ver, com essa query podemos puxar qualquer coluna da tabela wp_comments. Na query de exemplo, estamos selecionando as colunas comment_author, comment_author_email, e comment_author_IP.

Se você tiver acesso ao seu banco de dados, você pode usar programas como o phpMyAdmin para executar a query automaticamente. Caso não tenha acesso, teremos que usar uma página privada do WordPress para o efeito. Abra um template de página do WordPress e coloque o seguinte código depois da função the_content():

<?php //grab the data
$comment_info = $wpdb->get_results("SELECT DISTINCT comment_author, comment_author_email, comment_author_IP
FROM (SELECT DISTINCT comment_author, comment_author_email, comment_author_IP
FROM wp_comments
WHERE comment_post_ID = 1
) AS WHATEVER");
// display the results
echo '<ul>';
foreach($comment_info as $info) {
echo '<li><strong>'. $info->comment_author .'</strong> - '. $info->comment_author_email .' - <small>'. $info->comment_author_IP .'</small></li>';
}
echo '</ul>';
?>

Selecione apenas o ID do artigo e voilá! Quando você visita a sua página privada no browser, você irá ver uma listagem similar a esta:

  • Guilherme – gui@hotmail.com – 123.456.789
  • Antônio – max@gmail.com – 987.654.321
  • Salvador Dali – dali@email.com – 456.789.123

Até já!

Deixe uma resposta

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