Intereting Posts
Получение сообщений в категории пользовательских сообщений типа ui Как запустить функцию каждые 5 минут? Как создать указанную страницу комментариев с настраиваемыми полями Связанные страницы из плагина на передней панели не видят $ wpdb Невозможно получить доступ к панели мониторинга после автоматического обновления 4.8.1 XML Sitemap Generator и 404 проблема Как добавить боковую панель к теме Isola? Получить последнюю измененную дату для ссылки меню Как долго сохранить старый домен для 301 перенаправления после перемещения WordPress? Как установить видимость в меню Элемент usin WP Nav Menu Роли и wp_update_nav_menu_item () Добавляет ли WordPress свои собственные классы в навигационные меню? Измените HTML-форму комментария, которая генерируется где-то из основного WordPress Получить таксономию должности Вставить в wp_footer, если виджет находится на боковой панели Форма контакта 7 Условное заявление Много шагов с помощью флажка

Фильтр comment_notification_text для настраиваемого типа сообщений

Есть ли способ добавить фильтр comment_notification_text в пользовательский тип сообщения? Я пытаюсь отправить заказное письмо, когда комментарий оставлен в пользовательском типе сообщения

В настоящее время я использую этот фильтр:

 add_filter( 'comment_notification_headers', 'set_mail_html_content_type', 10, 2 ); 

ОБНОВЛЕНИЕ С КОММЕНТАРИИ

 function notify_postauthor_comment($comment_id) { $comment = get_comment( $comment_id ); $post_ID = $comment->comment_post_ID; $author_ID = get_post_field( 'post_author', $post_ID ); $user_info = get_userdata($author_ID); $email = $user_info->user_email; $pTitle = $comment->post_title; $cAuthor = $comment->comment_author; $cContent = $comment->comment_content; $cUrl = get_comment_link( $comment_id ); $to = $email; $subject = 'Your Post,'.$pTitle.', just received a comment!' ; $headers[] = 'From: email@email.com'; $headers[] = 'Content-Type: text/html; charset=UTF-8'; ob_start(); include("template/email_header.php"); ?> <p>Congrats! You just received a new comment from <?php echo $cAuthor; ?> on your post:</p> <p><?php echo $pTitle; ?></p> <p><strong>Comment:</strong><br> <?php echo $cContent; ?></p> <?php include("template/email_footer.php"); $message = ob_get_contents(); $message = stripslashes($message); ob_end_clean(); //return $message; wp_mail( $to, $subject, $message, $headers ); } add_action('comment_post', 'notify_postauthor_comment', 11, 2); в function notify_postauthor_comment($comment_id) { $comment = get_comment( $comment_id ); $post_ID = $comment->comment_post_ID; $author_ID = get_post_field( 'post_author', $post_ID ); $user_info = get_userdata($author_ID); $email = $user_info->user_email; $pTitle = $comment->post_title; $cAuthor = $comment->comment_author; $cContent = $comment->comment_content; $cUrl = get_comment_link( $comment_id ); $to = $email; $subject = 'Your Post,'.$pTitle.', just received a comment!' ; $headers[] = 'From: email@email.com'; $headers[] = 'Content-Type: text/html; charset=UTF-8'; ob_start(); include("template/email_header.php"); ?> <p>Congrats! You just received a new comment from <?php echo $cAuthor; ?> on your post:</p> <p><?php echo $pTitle; ?></p> <p><strong>Comment:</strong><br> <?php echo $cContent; ?></p> <?php include("template/email_footer.php"); $message = ob_get_contents(); $message = stripslashes($message); ob_end_clean(); //return $message; wp_mail( $to, $subject, $message, $headers ); } add_action('comment_post', 'notify_postauthor_comment', 11, 2); в function notify_postauthor_comment($comment_id) { $comment = get_comment( $comment_id ); $post_ID = $comment->comment_post_ID; $author_ID = get_post_field( 'post_author', $post_ID ); $user_info = get_userdata($author_ID); $email = $user_info->user_email; $pTitle = $comment->post_title; $cAuthor = $comment->comment_author; $cContent = $comment->comment_content; $cUrl = get_comment_link( $comment_id ); $to = $email; $subject = 'Your Post,'.$pTitle.', just received a comment!' ; $headers[] = 'From: email@email.com'; $headers[] = 'Content-Type: text/html; charset=UTF-8'; ob_start(); include("template/email_header.php"); ?> <p>Congrats! You just received a new comment from <?php echo $cAuthor; ?> on your post:</p> <p><?php echo $pTitle; ?></p> <p><strong>Comment:</strong><br> <?php echo $cContent; ?></p> <?php include("template/email_footer.php"); $message = ob_get_contents(); $message = stripslashes($message); ob_end_clean(); //return $message; wp_mail( $to, $subject, $message, $headers ); } add_action('comment_post', 'notify_postauthor_comment', 11, 2); 

Используя comment_notification_text вы получите текст уведомления о комментариях и комментарий. Чтобы проверить тип сообщения, вам нужно получить сообщение, связанное с комментарием, а затем вы можете проверить тип сообщения

Пример ( прочитайте встроенные комментарии ):

 function custom_notificaion($notify_message, $comment_id) { $comment_obj = get_comment($comment_id); //Get comment object $comment_post = get_post($comment_obj->comment_post_ID); //Get post object //Check if it is your post type if (isset($comment_post->post_type) && $comment_post->post_type == 'your-post-type') { return __('Custom message here', 'text-domain'); //Return the custom message here } return $notify_message; //Return default message for rest of the posts } add_filter('comment_notification_text', 'custom_notificaion', 10, 2);