댓글 이메일 알림기능 추가 예정이 있는지요?

댓글작성시 원글 게시자에게 이메일 알림기능 문의가 몇년전부터 꽤 있었고 추가할 예정이라는 댓글도 봤는데 일정이 잡혀 있는건가요?

만약 일정이 안잡혀 있거나 계획이 없으신거라면 구글 검색중 단x소프트에서 SMS플러그인을 이용한 발송 코드를 올려놓은게 있던데 이걸 응용해서 할수 있는 방법이 있을지요?

 

=========================================================

KBoard 에서 댓글 등록 시 특정 핸드폰 번호로 문자메시지를 전송하는 방법입니다. 테마의 functions.php 파일에 다음과 같이 코드를 추가합니다.
(단, KBoard의 버전에 따라 게시글의 제목이 전송되지 않을 수 있습니다.)

1

2

3

4

5

6

7

8

9

add_action('kboard_comments_insert', 'my_kboard_comments_insert', 10, 2);

function my_kboard_comments_insert($insert_id, $content_uid) {

    $document = new KBContent();

    $document->initWithUID($content_uid);

    do_action('danbisms_send',

        '<핸드폰번호>', '',

        sprintf('[%s] 게시글 "%s"에 댓글이 등록되었습니다.',

            get_bloginfo('name'), $document->title));

 

이걸 이메일로 바꿔서 댓글이 달렸을때 원글 게시자에게 메일 발송하는걸로 적용해보려고 했지만 실력이 딸려 적용하지 못하고 있습니다.

방법이 있다면 도움 부탁드립니다.

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
  • 요청 주신 기능은 먼저 추가될 기능들이 있어서 차근차근 진행 중에 있습니다.

    예를 들자면 이메일 알림 받기 기능이 비회원에겐 어떻게 동작할 것인가? 하는 고민에 여러 가지 기능이 추가되어야 하는 상황입니다.

    사용하시는 분들이 많기 때문에 업데이트 시 고민이 많이 필요합니다.

     

    하지만,

    기능 추가가 늦어지는 대신 저희가 이 곳 커뮤티니에서 최대한 도와드리겠습니다.

    원하시는 코드는 아래와 같습니다.

    아래 코드를 테마의 functions.php 파일에 추가해서 테스트해보시겠어요?

    원글 작성자가 회원일 경우 해당 회원에게 이메일 알림을 보내는 코드입니다.

     

    add_action('kboard_comments_insert', 'my_kboard_comments_insert', 10, 2);
    function my_kboard_comments_insert($insert_id, $content_uid){
        $comment = new KBComment();
        $comment->initWithUID($insert_id);
        $document = new KBContent();
        $document->initWithUID($content_uid);

        if($document->member_uid){
            $user = new WP_User($document->member_uid);

            if($user->user_email){
                if(!class_exists('KBMail')){
                    include_once KBOARD_DIR_PATH . '/class/KBMail.class.php';
                }
                    
                $url = new KBUrl();
                $mail = new KBMail();
                $mail->to = $user->user_email;
                $mail->title = "[댓글알림] {$document->title}";
                $mail->content = $comment->content;
                $mail->url = $url->getDocumentRedirect($document->uid);
                $mail->send();
            }
        }
    }

  • 아주 잘 동작하네요.

    다만 향후 게시자 본인이 단 댓글에 대한 알림은 안가고, 다른 댓글 게시자에게 답댓글 달았을경우 댓글 게시자에게도 알림 보내는 부분이 추가되면 더 좋을듯 합니다.

    항상 원하는 기능 대부분을 충족시켜주는 케이보드 알라뷰~~ 입니다. ^_^

  • 발신자 이름이 WordPress<xxx@xxx.com> 이라고 뜨는데 WordPress를 다른 이름으로 변경하는건 어디를 고쳐야 할까요? ^^;

  • 말씀하신 의견 적극적으로 반영해서 업데이트 하도록 하겠습니다^^

     

    아래 코드를 적용하면 게시글 작성자 본인이 댓글을 남기면 이메일이 오지 않을 겁니다.

    add_action('kboard_comments_insert', 'my_kboard_comments_insert', 10, 2);
    function my_kboard_comments_insert($insert_id, $content_uid){
        $comment = new KBComment();
        $comment->initWithUID($insert_id);
        $document = new KBContent();
        $document->initWithUID($content_uid);

        if($document->member_uid){
            $user = new WP_User($document->member_uid);

            if($user->user_email && $user->ID != get_current_user_id()){
                if(!class_exists('KBMail')){
                    include_once KBOARD_DIR_PATH . '/class/KBMail.class.php';
                }

                $url = new KBUrl();
                $mail = new KBMail();
                $mail->to = $user->user_email;
                $mail->title = "[댓글알림] {$document->title}";
                $mail->content = $comment->content;
                $mail->url = $url->getDocumentRedirect($document->uid);
                $mail->send();
            }
        }
    }

     

    그리고 이메일 발송자 이름을 변경하시려면 아래 코드를 테마의 functions.php 파일에 추가해보세요.

    add_filter('wp_mail_from_name', 'my_wp_mail_from_name');
    function my_wp_mail_from_name($from_name){
        $from_name = '홈페이지관리자';
        return $from_name;
    }

    또는 아래와 같은 플러그인도 있지만, 설치된 플러그인이 많아서 좋을게 없습니다^^

    https://ko.wordpress.org/plugins/wp-change-default-from-email/

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요