원글 작성자에 관리자가 댓글을 달았는데 이메일 알람이 안옵니다.
소스 수정을 해봐도 안됩니다... 제가 잘 부족해서 그런것 같기도하구요..
글 작성시 알람은 잘 옵니다.
혹시 코스모스팜 회원관리를 써야 댓글을 쓰면 메일이 오는지...
플러그인 WP-Members 플러그인을 써야하는지
그리고 그 소스 삽입하는 것을 functions.php 어디에 추가해야 하나요?
맨 끝부분에 추가했습니다... ㅠ
안녕하세요.
기본적으로 작성자에게 이메일 알림 기능은 없습니다. (추후 기능 추가 예정)
어떤 소스 수정을 하셨는지요?
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();
}
}
}
안녕하세요.
다른 코드 대신 아래 코드만 추가해서 테스트해보세요. (새로 만든 코드는 아닙니다.)
아래 코드는 게시글 작성자에게 댓글 등록 알림 메일을 보내는 코드입니다.
게시글 작성자가 로그인한 회원일 경우에만 이메일 알림을 받을 수 있습니다.
게시글 작성자가 비로그인 사용자라면 이메일 알림을 받을 수 없습니다.
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();
}
}
}
고맙습니다.
그리고
코드를 추가했을 때
홈페이지 화면이 안뜬다거나 페이지 표시가 제대로 안된다면
워드프레스 디버그 모드를 활성화 해서 에러가 없는지 체크 해보셔야 할 듯합니다.
워드프레스의 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 접속 정보를 보내주시면 점검해드리겠습니다.
고맙습니다. > 정말 감사합니다!!~ 메일 발송했습니다. 감사합니다.!!!
본인이 작성한 글에 본인이 댓글을 달면 이메일 알림이 전송되지 않습니다.
본인의 글에 본인이 댓글을 달아도 이메일 알림이 전송되도록 수정해드렸습니다~^^
고맙습니다.