这里我想要的很简单,但我真的不知道如何实现它。我有一个基于WordPress的锦标赛网站,用户通过在帖子上发表评论来注册锦标赛。
问题是,然后我需要向所有这些人发送一封电子邮件,这意味着我每次都要为用户查找50多封电子邮件。我正在考虑对评论和用户表进行某种连接,但我真的不知道如何在WordPress中使用它。
我在某个地方读到,如果我想为用户添加内容,它应该在一个主题中,如果我想为管理员添加内容,它应该作为一个插件,但这看起来可能是放在某个地方的一个简单脚本。
你将如何解决这个问题?
这里我想要的很简单,但我真的不知道如何实现它。我有一个基于WordPress的锦标赛网站,用户通过在帖子上发表评论来注册锦标赛。
问题是,然后我需要向所有这些人发送一封电子邮件,这意味着我每次都要为用户查找50多封电子邮件。我正在考虑对评论和用户表进行某种连接,但我真的不知道如何在WordPress中使用它。
我在某个地方读到,如果我想为用户添加内容,它应该在一个主题中,如果我想为管理员添加内容,它应该作为一个插件,但这看起来可能是放在某个地方的一个简单脚本。
你将如何解决这个问题?
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评论),但速度会稍微慢一些。。。只是试探一下这一点,我需要能够接受收到的电子邮件并将其添加为帖子,但我希望能够首先进行一些处理,例如我想更改slug,在标题前加一个字符串等。是否有一种方法可以连接到电子邮件功能,更改一些数据,然后让它继续。如果电子邮件不是从批准的域发送的,我可能还想拒绝它(这将是自定义帖子类型中的一个字段)。我的要求是可以实现的,还是我找错了方向?Edit我发现了save_post 钩子,虽然它在帖子保存后开火。。。不是我想要的。是否有一个钩子在帖子保存之前被激活,它会给我关于帖子的所有信息,尤其是创建帖子的地方。Ed