Importar emails dos comentários do WordPress para CSV
Depois de capturar a lista dos emails de quem comentou no teu wordpress, chega a hora de disparar um email para essa gente toda.
Como o meu servidor é compartilhado, a sintaxe para importar csv direto no sql, não funcionou. Pois o meu usuário do banco não tem acesso a esse tipo de operação.
Caso o seu tenha, use o comando abaixo:
Direto no SQL
SELECT comment_author_email, comment_author
FROM `wp_comments`
WHERE comment_author_email <> ''
GROUP BY comment_author_email
ORDER BY (
comment_author_email )
INTO OUTFILE '/tmp/meuarquivo.csv'
FIELDS TERMINATED BY ';'
LINES TERMINATED BY '\n';
E se quiser apenas os comentários após uma certa data:
SELECT comment_author_email, comment_author FROM `wp_comments` WHERE comment_author_email <> '' AND comment_date > '2013-04-13' GROUP BY comment_author_email ORDER BY ( comment_author_email ) INTO OUTFILE '/tmp/comments-2013-04-13.csv' FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n';
No meu caso, eu tive que conectar no banco e gerar o .csv com programação server-side.
Usando PHP
<?php
$db = new mysqli('host', 'user', 'pass', 'bd');
$sql = "SELECT comment_author_email, comment_author
FROM `wp_comments`
WHERE comment_author_email <> ''
GROUP BY comment_author_email
ORDER BY (
comment_author_email
)";
$query = $db->query( $sql );
while( $dados = $query->fetch_object() ){
$arr[] = "\"{$dados->comment_author}\", \"{$dados->comment_author_email}\"";
}
echo implode($arr, "\n");
Prontinho! feito. Dai foi só disparar um email para todo mundo, logicamente com o link de remover.
Se você frequenta meu blog, ou já comentou por aqui, provavelmente você recebeu também.