Пользовательский тип сообщения без редактора или изменений. Уведомлять об обновлении?

Я создал настраиваемый тип сообщения, который использует настраиваемые поля над редактором по умолчанию. Я хочу получить уведомление по электронной почте, когда будет сделано обновление для публикации. Электронная почта не должна показывать diff (хотя было бы неплохо).

Я пробовал изменения по электронной почте, и для этого требуется, чтобы у вас были «ревизии». Я попытался включить его, и я предполагаю, потому что я не использую редактор по умолчанию, и он не будет работать без него.

Любые мысли о том, как заставить плагин работать или выяснить, как отправить электронное письмо при обновлении пользовательского типа сообщений?

Solutions Collecting From Web of "Пользовательский тип сообщения без редактора или изменений. Уведомлять об обновлении?"

Если вы публикуете сообщение, а также тип персонализированного сообщения, статус формы получения крюка и post_type – {$new_status}_{$post->post_type} – активны, и вы можете использовать этот крючок для отправки почты. В качестве примера для публикации музыки: add_action('publish_music', 'fb_my_function'); Вы также можете отправить ревизию внутри почты, ревизия – это только другой тип сообщения и может получить из базы данных и добавить сообщение в сообщение. Возможно, вы можете увидеть возможности моего последнего плагина , отправить письма для комментариев и сообщений.

Простой пример для настраиваемого типа сообщений «Архив»

 public $post_type_1 = 'archiv'; add_action( 'publish_' . $this -> post_type_1, array( $this, 'fb_my_function') ); public function fb_my_function( $post_id = FALSE ) { if ( $post_id ) { // get data from current post $post_data = get_post( $post_id ); //var_dump($post_data);exit; <-- see this for all content or use the id for get the revisons // get mail from author $user_mail = get_userdata( $post_data -> post_author ); // email addresses $to = 'test@example.com' // email subject $subject = get_option( 'blogname' ) . ': ' . $post_data -> post_title; // message content $message = $post_data -> post_content . ' ' . PHP_EOL . get_author_name( $post_data -> post_author ) . ' ' . PHP_EOL . . get_permalink( $post_id ); // create header data $headers = 'From: ' . get_author_name( $post_data -> post_author ) . ' (' . get_option( 'blogname' ) . ')' . ' <' . $user_mail -> user_email . '>' . PHP_EOL; // send mail wp_mail( $to, $subject, $message, $headers ); } return $post_id; } при public $post_type_1 = 'archiv'; add_action( 'publish_' . $this -> post_type_1, array( $this, 'fb_my_function') ); public function fb_my_function( $post_id = FALSE ) { if ( $post_id ) { // get data from current post $post_data = get_post( $post_id ); //var_dump($post_data);exit; <-- see this for all content or use the id for get the revisons // get mail from author $user_mail = get_userdata( $post_data -> post_author ); // email addresses $to = 'test@example.com' // email subject $subject = get_option( 'blogname' ) . ': ' . $post_data -> post_title; // message content $message = $post_data -> post_content . ' ' . PHP_EOL . get_author_name( $post_data -> post_author ) . ' ' . PHP_EOL . . get_permalink( $post_id ); // create header data $headers = 'From: ' . get_author_name( $post_data -> post_author ) . ' (' . get_option( 'blogname' ) . ')' . ' <' . $user_mail -> user_email . '>' . PHP_EOL; // send mail wp_mail( $to, $subject, $message, $headers ); } return $post_id; }