Добавление второго адреса электронной почты для уведомлений пользователей WP
Системы WP отправляют много писем авторам. Есть также плагины, которые используют уведомления по электронной почте для авторов.
Но, допустим, у меня есть пользователь, которым управляют два человека (потому что это компания, организация, состоящая из нескольких человек) - я хочу, чтобы все электронные письма отправлялись также на второй адрес электронной почты, который я введу на странице профиля этого пользователя WP.
Каков наилучший способ достичь этого? Я знаю, как добавить поле на страницу профиля, но я не знаю, как отправлять каждое уведомление, которое пользователь получает на второй адрес электронной почты. пожалуйста, помогите:)
2 answers
Не является специфичным для WP решением, но обычно вы можете настроить псевдоним/отправителя в своей системе электронной почты, который отправляет копию обоим пользователям.
Например,
И т.д.
Предложение, хотя и своего рода взлом, я хотел бы сделать, это использовать список рассылки. Вы можете добавлять бесконечное количество электронных писем в список рассылки.
Альтернативой, которую вы могли бы сделать, является использование publish_{$posttype}
крючок для отправки уведомлений по электронной почте через wp_mail
. Тот wp_mail
параметр функции $to
принимает либо строку, либо массив, чтобы вы могли передавать несколько адресов электронной почты.
РЕДАКТИРОВАТЬ:
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.