我想提出的一个建议是使用邮件列表,尽管这是一种黑客行为。您可以向邮件列表中添加无限多的电子邮件。
您可以使用publish_{$posttype}
通过钩子发送电子邮件通知wp_mail
. 这个wp_mail
函数的$to
参数采用字符串或数组,以便您可以传入多个电子邮件地址。
EDIT:
function notify_users_of_new_post($post_id) {
// Get list of subscribers and their secondary email address stored in wp_usermeta
$user_query = get_users(\'blog_id=1&orderby=nicename&role=subscriber&fields=all_with_meta\');
$bName = get_bloginfo(\'name\');
$permalink = get_permalink($post_id);
foreach($user_query as $user) {
$email = $user->email;
if (isset($user->secondary_email) AND !empty($user->secondary_email)) {
$email = array( $user->email, $user->secondary_email );
}
wp_mail($email, sprintf(\'New Blog Entry on %s\', $bName), sprintf(\'A new entry has been published to %s. View it clicking here: %s\', $bName, $permalink));
}
}
add_action(\'publish_post\', \'notify_users_of_new_post\');
我尝试了一个示例代码块(如上)。建议如果您计划在生产站点上使用此功能,如果您有很多注册用户,请使用cron作业,否则我很确定这会导致PHP超时。