댓글작성 후 이메일 알람이 안옵니다.

원글 작성자에 관리자가 댓글을 달았는데 이메일 알람이 안옵니다.

소스 수정을 해봐도 안됩니다... 제가 잘 부족해서 그런것 같기도하구요..

글 작성시 알람은 잘 옵니다.

혹시 코스모스팜 회원관리를 써야 댓글을 쓰면 메일이 오는지...

플러그인 WP-Members 플러그인을 써야하는지

그리고 그 소스 삽입하는 것을 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 && $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->url_name = __('Go to Homepage', 'kboard');
    			$mail->send();
    		}
    	}
    }

    고맙습니다.

  • 안녕하세요.

    기본적으로 작성자에게 이메일 알림 기능은 없습니다. (추후 기능 추가 예정)

    어떤 소스 수정을 하셨는지요?

    functions.php 파일 하단에 추가하시는게 맞습니다.

    커뮤니티에서 "이메일 알림"을 검색하시면 관련 자료를 찾아보실 수 있습니다.

    수정하신 소스 내용도 알려주시겠어요?

    고맙습니다.

  • 적용한 코드는 > http://www.cosmosfarm.com/threads/document/12637

    아래 코드를 넣으면 워드프레스 접속이 안됩니다.

    functions.php 제일 끝 하단에 넣었습니다.

    add_action('kboard_comments_insert', 'my_kboard_comments_insert', 10, 2);
    function my_kboard_comments_insert($comment_uid, $content_uid){
        $comment = new KBComment();
        $comment->initWithUID($comment_uid);
        $document = new KBContent();
        $document->initWithUID($content_uid);
        
        if($comment->parent_uid){
            $parent = new KBComment();
            $parent->initWithUID($comment->parent_uid);
            
            if($parent->user_uid){
                $user = new WP_User($parent->user_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 = "답글이 등록 되었습니다.";
                    $mail->content = $comment->content;
                    $mail->url = $url->getDocumentRedirect($document->uid);
                    $mail->send();
                }
            }
            else if($parent->option->email){
                if(!class_exists('KBMail')){
                    include_once KBOARD_DIR_PATH . '/class/KBMail.class.php';
                }
                $url = new KBUrl();
                $mail = new KBMail();
                $mail->to = $parent->option->email;
                $mail->title = "답글이 등록 되었습니다.";
                $mail->content = $comment->content;
                $mail->url = $url->getDocumentRedirect($document->uid);
                $mail->send();
            }
        }
    }

  • 그리고 함께 http://www.cosmosfarm.com/threads/document/11766

    아래 코드를 넣으면 글 작성하면 글 작성자에게 알람은 오는데.. 메일로 댓글이 달렸다는 알람은 안옵니다. ㅠ

    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();
            }
        }
    }

    ------------------------------------------------------------------

    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();
            }
        }
    }

  • 그리고

    코드를 추가했을 때

    홈페이지 화면이 안뜬다거나 페이지 표시가 제대로 안된다면

    워드프레스 디버그 모드를 활성화 해서 에러가 없는지 체크 해보셔야 할 듯합니다.

    워드프레스의 wp-config.php 파일에서

    define('WP_DEBUG', false); -> define('WP_DEBUG', true);

    이렇게 수정해주시면 디버그 모드가 활성화 됩니다.

    또는 워드프레스 디버그 모드 대신 아래 플러그인으로 오류 내용을 확인할 수 있습니다.

    https://ko.wordpress.org/plugins/error-log-monitor/

    고맙습니다.

  • 알려주신대로 위 코드 넣었습니다...

    메일이 안옵니다. 글 등록하면 메일은 오는데..댓글에 대한 메일은 오지 않습니다..ㅠ

    어떻게 해야할까요? ㅠㅜ

    글 작성자 메일은 네이버메일입니다.

  • 안녕하세요.

    위 코드를 저희가 테스트했을 땐 정상적으로 이메일이 게시글 작성자에게 발송됐습니다. (문제없는 코드)

    게시글 작성자가 로그인한 회원이 맞는지요?

    디버그 모드로는 별다른 에러를 확인하실 수 없었나요?

    새글 등록 알림을 받는 관리자도 이메일은 네이버인지요?

     

    혹시 보내는 메일에 문제가 있을 수 있습니다.

    WP Mail SMTP 플러그인을 설치해서 보내는 메일을 세팅해보세요.

    https://ko.wordpress.org/plugins/wp-mail-smtp/

     

    위 플러그인까지 세팅해보셔도 이메일이 발송되지 않는다면

    저희 고객지원 쪽 이메일로 워드프레스 관리자 계정과 FTP 접속 정보를 보내주시면 점검해드리겠습니다.

    고맙습니다.

  • 안녕하세요.

    위 코드를 저희가 테스트했을 땐 정상적으로 이메일이 게시글 작성자에게 발송됐습니다. (문제없는 코드)

    게시글 작성자가 로그인한 회원이 맞는지요?  네 회원입니다. 회원(네이버메일)끼리 테스트도 했습니다. ㅠㅠ

    디버그 모드로는 별다른 에러를 확인하실 수 없었나요? 네 설치 후 확인했는데 오류 log가 없습니다.

    새글 등록 알림을 받는 관리자도 이메일은 네이버인지요? 네 글쓴이는 네이버, 댓글단사람도 네이버메일입니다.

    WP Mail SMTP 플러그인을 설치해서 보내는 메일을 세팅 ?  ( https://ko.wordpress.org/plugins/wp-mail-smtp/ )

    네 세팅했습니다. G메일로 세팅 후 네이버메일로 테스트 확인 시 메일이 잘 와서 다시 테스트하니 댓글은 메일이 안옵니다...ㅠ

    위 플러그인까지 세팅해보셔도 이메일이 발송되지 않는다면 저희 고객지원 쪽 이메일로 워드프레스 관리자 계정과 FTP 접속 정보를 보내주시면 점검해드리겠습니다.

    고맙습니다. > 정말 감사합니다!!~ 메일 발송했습니다. 감사합니다.!!!

  • 본인이 작성한 글에 본인이 댓글을 달면 이메일 알림이 전송되지 않습니다.

    본인의 글에 본인이 댓글을 달아도 이메일 알림이 전송되도록 수정해드렸습니다~^^

    고맙습니다.

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