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.