我如何才能获得评论帖子的用户的电子邮件列表?

时间:2011-09-18 作者:Jakub Arnold

这里我想要的很简单,但我真的不知道如何实现它。我有一个基于WordPress的锦标赛网站,用户通过在帖子上发表评论来注册锦标赛。

问题是,然后我需要向所有这些人发送一封电子邮件,这意味着我每次都要为用户查找50多封电子邮件。我正在考虑对评论和用户表进行某种连接,但我真的不知道如何在WordPress中使用它。

我在某个地方读到,如果我想为用户添加内容,它应该在一个主题中,如果我想为管理员添加内容,它应该作为一个插件,但这看起来可能是放在某个地方的一个简单脚本。

你将如何解决这个问题?

1 个回复
最合适的回答,由SO网友:onetrickpony 整理而成

 global $wpdb, $post;
 $query = sprintf("SELECT comment_author_email
                     FROM {$wpdb->comments}
                     JOIN {$wpdb->posts} ON {$wpdb->posts}.ID = {$wpdb->comments}.comment_post_ID
                     WHERE comment_post_ID = %d
                       AND comment_approved = \'1\'",
                  $post->ID);
 $emails = $wpdb->get_col($query);
 $emails = array_unique($emails);

 // your e-mails
 print_r($emails);
您还可以使用内置WP_Comment_Query (或获取\\u评论),但速度会稍微慢一些。。。

结束

相关推荐

Extending post by email

只是试探一下这一点,我需要能够接受收到的电子邮件并将其添加为帖子,但我希望能够首先进行一些处理,例如我想更改slug,在标题前加一个字符串等。是否有一种方法可以连接到电子邮件功能,更改一些数据,然后让它继续。如果电子邮件不是从批准的域发送的,我可能还想拒绝它(这将是自定义帖子类型中的一个字段)。我的要求是可以实现的,还是我找错了方向?Edit我发现了save_post 钩子,虽然它在帖子保存后开火。。。不是我想要的。是否有一个钩子在帖子保存之前被激活,它会给我关于帖子的所有信息,尤其是创建帖子的地方。Ed