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');

В основном мне нужно что-то похожее на приведенный выше код для двух других уведомлений. Я попробовал кучу крючков для действий, но, похоже, ничего не помогает. Я вообще не получаю электронной почты, или срабатывает несколько крючков, и в итоге я получаю много писем.

Предложения?

Author: EyesX, 2011-11-13

1 answers

Если по какой-то причине вам не нужно, чтобы это было жестко запрограммировано в вашей теме или чтобы у вас был полный контроль над вашим собственным плагином, вы можете использовать существующий плагин для совместной работы Питера .

Если установка плагина не является вариантом, я бы предложил изменить вышеизложенное или позаимствовать часть его кода соответственно. Он может делать все, что вам требуется.

Кроме того, он также легко адаптируется для работы только с одним или несколькими пользовательскими типами сообщений.

 1
Author: Johannes Pille, 2011-11-13 03:06:52