Intereting Posts
Изменить URL-адрес каталога так же, как и ссылку на страницу? Как сделать собственный видеоплеер полной шириной? Проблема по $ output и permalinks Почему не работают мои множественные петли? Запретить URL-адрес URL-адреса (? Ver = XXX) в объявленных стилях и скриптах Как внести изменения в уже опубликованную почту в проект Могу ли я изменить свой язык на английский? Как защитить загрузки в многопользовательском режиме, если пользователь не вошел в систему? Я смешиваю концепцию страниц и категорий сообщений? Страницы загружают различное количество контента каждый раз., Объект WP_Meta_Query с условными выражениями Открыть график в индексной петле Могу ли я изменить header.php текущей темы через функцию плагина? Как перенести файлы cookie с .subdomain.domain.com на .domain.com с минимальным воздействием на пользователей? Добавление ссылки «Показать меньше / больше» на «Пользовательская почта»

Уведомление администратора или автора о новом сообщении

Я использую настраиваемую функцию с крюком publish_post для уведомления автора, когда публикация была опубликована, но проблема, с которой я столкнулся сейчас, заключается в том, что уведомление отправляется дважды, а также, когда сообщение обновляется. Вот как выглядит моя функция.

function authorNotification($post_id) { $post = get_post($post_id); $author = get_userdata($post->post_author); $message = " Hi ".$author->display_name.", New post, ".$post->post_title." has just been published at ".get_permalink( $post_id ).". "; wp_mail($author->user_email, "New Post Published", $message); } add_action('publish_post', 'authorNotification'); 

я что-то упустил?

Вам нужно написать свой крючок для действия transition_post_status :

 function authorNotification( $new_status, $old_status, $post ) { if ( $new_status == 'publish' && $old_status != 'publish' ) { $author = get_userdata($post->post_author); $message = " Hi ".$author->display_name.", New post, ".$post->post_title." has just been published at ".get_permalink( $post->ID ).". "; wp_mail($author->user_email, "New Post Published", $message); } } add_action('transition_post_status', 'authorNotification', 10, 3 );