게시판 알림 문의

안녕하세요. 좋은 플러그인을 제공해주셔서 감사합니다.

저의 웹사이트는 로그인한 회원(이메일 등록됨)만이 KBoard 게시판을 사용할 수 있습니다.

일단 회원이 로그인하면, 게시판을 통해  글을 처음 올릴 수도 있고, 게시판 담당자가 댓글을 달면 이에 대해 회원이 추가 댓글을 계속 달 수도 있습니다.

댓글이 달리면 상위 글(또는 상위 댓글) 작성자에게 알림 이메일이 가도록 세팅하고 싶습니다.

어떻게 하면 되는지 친절한 기술적 안내 도움을 부탁드립니다. 감사합니다.

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
  • 안녕하세요~^^

    우선은 아래 링크들을 살펴봐주시겠어요?

    http://www.cosmosfarm.com/threads/document/12951
    http://www.cosmosfarm.com/threads/document/12637
    http://www.cosmosfarm.com/threads/document/12558
    http://www.cosmosfarm.com/threads/document/11766

    KBoard 플러그인에 빠른 시일내에 기본적으로 이메일 알림 기능을 적용하도록 하겠습니다.

    고맙습니다.

  • 안녕하세요, 위에 알려주신 링크 속 코드를 하나씩 입력해보았는데, 에러가 계속 뜹니다.

    저의 웹사이트는 로그인한 회원(이메일 등록됨)만이 KBoard 게시판을 사용할 수 있습니다.

    일단 회원이 로그인하면, 게시판을 통해  처음 글을 올릴 수 있고(원글),

    게시판 관리자가 원글에 대해 댓글을 달면, <처음 원글을 작성한 회원>에게 이메일 알림이 가고,

    추후에 관리자가 작성한 댓글에 회원이 추가 댓글을 달면 <관리자>에게 이메일 알림이 가고 싶습니다.

    원글 및 댓글에 답글이 달리면 상위 글(또는 상위 댓글) 작성자에게 알림 이메일이 가도록 세팅하고 싶습니다.

    어떤 코드를 입력해야 할지 몰라서 다시 문의드립니다.....

  • 안녕하세요.

    커뮤니티에서 도움을 드리기 위해서는

    현재 어떻게 수정을 하셨는지 확인해봐야 할 듯합니다.

    확인 가능한 페이지 주소도 알려주시겠어요?

  • 안녕하세요
    저의 웹사이트는 로그인한 회원(이메일 등록됨)만이 KBoard 게시판을 사용할 수 있습니다.
    일단 회원이 로그인하면, 게시판을 통해  처음 글을 올릴 수 있고(원글),
    게시판 관리자가 원글에 대해 댓글을 달면, <처음 원글을 작성한 회원>에게 이메일 알림이 가고,
    추후에 관리자가 작성한 댓글에 회원이 추가 댓글을 달면 <관리자>에게 이메일 알림이 가고 싶습니다.
    원글 및 댓글에 답글이 달리면 상위 글(또는 상위 댓글) 작성자에게 알림 이메일이 가도록 세팅하고 싶습니다.


    저는 Code Snippets 플러그인을 설치해서, 아래 코드를 넣어보았는데, 에러가 생겨서 백업을 다시 해야 했습니다....
    아래 2개 코드를 입력해보았는데,,, 에러가 생겼습니다.
     

    <댓글 작성 시 원글 게시자에게 이메일 알림 전송>

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

     

    <관리자가 댓글에 답변을 달면 원 댓글 작성자에게 이메일 알림 전송하기>

    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($insert_id);
    
    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()){
    
    $title = '등록하신 댓글에 답변이 등록되었습니다.'; // 알림 이메일 제목
    $content = '등록하신 댓글에 대해 답변이 등록 되었습니다.'; // 알림 이메일 본문 내용
    wp_mail($user->user_email, $title, $content);
    }
    }
    }
    }
  • 안녕하세요.

    두 코드 모두 추가하면 에러가 날 겁니다.

    워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서

    테마의 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);
    	
    	$user = new WP_User();
    	
    	if($comment->parent_uid){
    		$parent = new KBComment();
    		$parent->initWithUID($comment->parent_uid);
    		
    		if($parent->user_uid){
    			$user = new WP_User($parent->user_uid);
    		}
    	}
    	else{
    		if($document->member_uid){
    			$user = new WP_User($document->member_uid);
    		}
    	}
    	
    	if(isset($user->ID) && $user->ID){
    		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();
    		}
    	}
    }

     

    코드를 추가하거나 편집할 땐 하상 백업을 필수로 하신 다음 진행해주세요.

    고맙습니다.

  • 친절하게 도움주셔서 매우 감사합니다.

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기