Как изменить уведомление по электронной почте для комментариев

Как вы меняете пользователя, который получает уведомление по электронной почте уведомления о новых комментариях и модерации комментариев?

WordPress отправляет уведомления пользователю Admin. Мой клиент является редактором сайта. Я хочу, чтобы уведомления о комментариях отправлялись по почте пользователю редактора, а не администратору.

Как ты это делаешь?

Solutions Collecting From Web of "Как изменить уведомление по электронной почте для комментариев"

Там есть отличная статья, объясняющая, как подключить 2 фильтра для этого по адресу http://www.sourcexpress.com/customize-wordpress-comment-notification-emails/.

Чтобы отправить свои уведомления конкретному пользователю, а не администратору сайта, попробуйте это для пользователя с идентификатором 123:

function se_comment_moderation_recipients( $emails, $comment_id ) { $comment = get_comment( $comment_id ); $post = get_post( $comment->comment_post_ID ); $user = get_user_by( 'id', '123' ); // Return only the post author if the author can modify. if ( user_can( $user->ID, 'edit_published_posts' ) && ! empty( $user->user_email ) ) { $emails = array( $user->user_email ); } return $emails; } add_filter( 'comment_moderation_recipients', 'se_comment_moderation_recipients', 11, 2 ); add_filter( 'comment_notification_recipients', 'se_comment_moderation_recipients', 11, 2 ); 

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

1. Отключите функцию электронной почты из настроек комментариев WordPress ( если вы также не хотите получать уведомления )

2. Отправьте его вручную, используя comment_post , просто добавьте эту функцию в functions.php


 add_filter( 'comment_post', 'comment_notification' ); function comment_notification( $comment_ID, $comment_approved ) { // Send email only when it's not approved if( $comment_approved == 0 ) { $subject = 'subject here'; $message = 'message here'; wp_mail( 'editor.email@here.com' , $subject, $message ); } } // Remove if statement if you want to recive email even if it doesn't require moderation 

comment_post – это действие, инициированное сразу после добавления комментария в базу данных.