3 различных почтовых уведомления
Я создаю небольшой трекер, и мне нужно отправлять уведомления по почте о конкретных действиях.
Продуманные уведомления:
- Администратор получает уведомление по электронной почте, когда публикуется новый билет
- Автор получает уведомление по электронной почте, когда билет обновляется
- Автор получает подтверждение по электронной почте, когда билет опубликован
Каждое электронное письмо с уведомлением будет иметь разное содержание. У меня есть одно из этих трех уведомлений, чтобы работа, та, в которой автор получает уведомление при обновлении билета (код ниже). Двух других я не могу понять.
Некоторые сведения о публикации в моем трекере. Публикация выполняется в интерфейсной форме. Если пользователь вошел в систему, его данные пользователя используются в качестве меты автора билета. Если пользователь не вошел в систему, имя и адрес электронной почты будут сохранены в качестве настраиваемых полей.
//**************************************************
// Send mail to user when a ticket is updated
//**************************************************
function trac_authorEditNotification($post_id) {
$post = get_post($post_id);
$author = get_userdata($post->post_author);
if ($author->ID == '2') {
$message = "Hej ".get_post_meta($post->ID, 'ticket_poster', true).",\nDin rapport '".$post->post_title."' har just uppdaterats.\n\nDu kan besöka den uppdaterade rapporten på: ".get_permalink( $post->ID )."\n\nMvh\nTeamet";
wp_mail(get_post_meta($post->ID, 'ticket_poster_mail', true), "[Trac] Rapport uppdaterad (#".$post->ID.")", $message);
} else {
$message = "Hej ".$author->display_name.",\nDin rapport '".$post->post_title."' har just uppdaterats.\n\nDu kan besöka den uppdaterade rapporten på: ".get_permalink( $post->ID )."\n\nMvh\nTeamet";
wp_mail($author->user_email, "[Trac] Rapport uppdaterad (#".$post->ID.")", $message);
}
}
add_action('edit_post', 'trac_authorEditNotification');
В основном мне нужно что-то похожее на приведенный выше код для двух других уведомлений. Я попробовал кучу крючков для действий, но, похоже, ничего не помогает. Я вообще не получаю электронной почты, или срабатывает несколько крючков, и в итоге я получаю много писем.
Предложения?
1 answers
Если по какой-то причине вам не нужно, чтобы это было жестко запрограммировано в вашей теме или чтобы у вас был полный контроль над вашим собственным плагином, вы можете использовать существующий плагин для совместной работы Питера .
Если установка плагина не является вариантом, я бы предложил изменить вышеизложенное или позаимствовать часть его кода соответственно. Он может делать все, что вам требуется.
Кроме того, он также легко адаптируется для работы только с одним или несколькими пользовательскими типами сообщений.