Uma das melhores formas de coletar emails 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 emails 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 email. Esta funcionalidade pode ser usada para várias funcionalidades, não só coletar emails dos usuários, mas também 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 esta 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 desta tabela em qualquer página ou post 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 emails dos usuários).O ideal é você criar uma página privada ou seleccionar um template customizado que tenha disponível. Ao carregar a página, aparecem todos os emails dos usuários, por exemplo.
PUXAR INFORMAÇÕES DO BANCO DE DADOS
Se você tiver uma página com formulário de captura de emails e pretende coletar a informação num local específico, e contatar esses usuários por email, terá forçosamente de usar algumas funções customizadas do WordPress. Para puxar a informação, iremos necessitar de realizar algumas queries ao banco de dados do WordPress, seleccionar as nossas colunas da tabela wp_comments
, e depois mostrar essas informações numa página personalizada/privada.
Ao nível 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á é bastante mais complexo. Para o fazer, iremos necessitar da seguinte query:
1
2
3
4
5
|
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 esta query podemos puxar qualquer coluna da tabela wp_comments
. Na query de exemplo, estamos a seleccionar 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 de 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()
:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<?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>' ; ?> |
Seleccione apenas o ID do post 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á!