Если новый комментарий опубликован в пользовательском сообщении - отправьте уведомление на пользовательское электронное письмо из пользовательского поля


У меня есть пользовательский пост типа "Мастера искусства". Каждый пост - это профиль мастера.

В их профилях есть пользовательские поля с именем "master_email". Мне нужно отправлять уведомление по электронной почте для мастера каждый раз, когда публикуется новый комментарий.

Как я могу вызвать функцию публикации новых комментариев для использования wp_mail? Спасибо вам за помощь!

Author: Bohdan Hdal, 2011-12-09

2 answers

Вы можете попробовать что-то подобное в своем functions.php

function send_comment_email_notification( $comment_ID, $commentdata ) {
    $comment = get_comment( $comment_id );
    $postid = $comment->comment_post_ID;
    $master_email = get_post_meta( $postid, 'master_email', true);
    if( isset( $master_email ) && is_email( $master_email ) ) {
        $message = 'New comment on <a href="' . get_permalink( $postid ) . '">' .  get_the_title( $postid ) . '</a>';
        add_filter( 'wp_mail_content_type', create_function( '', 'return "text/html";' ) );
        wp_mail( $master_email, 'New Comment', $message );
    }
}
add_action( 'comment_post', 'send_comment_email_notification', 11, 2 );
 6
Author: Joshua Abenazer, 2011-12-10 03:52:38

Вы можете попробовать это. Пример:[email protected]

add_filter('wp_mail_from','yoursite_wp_mail_from'); 

function yoursite_wp_mail_from($content_type) {
   return '[email protected]'; 
} 

add_filter('wp_mail_from_name','yoursite_wp_mail_from_name'); 

function yoursite_wp_mail_from_name($name) {
   return 'Helen Hou-Sandi'; 
} 
 0
Author: abercrombie, 2012-11-03 18:59:24