안녕하세요.
워드프레스 게시판 KBoard(케이보드) 사용중입니다.
현재 지금 아래 코드를 사용하여 운영자가 아닌 사람이 댓글을 달면 운영자에게 알림 메일이 오도록 사용하고 있습니다.
게시판을 뒤져서 몇가지 코드들을 알아내어 실험해 보고 싶지만 코딩이 약해 조합이 안됩니다.
합쳐보았는데 사이트가 먹통이 됩니다 ㅠ
add_action('kboard_comments_insert', 'my_admin_comment_email_alert', 10, 2);
function my_admin_comment_email_alert($comment_uid, $content_uid){
$comment = new KBComment();
$comment->initWithUID($comment_uid);
$content = new KBContent();
$content->initWithUID($content_uid);
$board = $content->getBoard();
if(!$board->isAdmin()){
if(!class_exists('KBMail')){
include_once KBOARD_DIR_PATH . '/class/KBMail.class.php';
}
$url = new KBUrl();
$mail = new KBMail();
$mail->to = get_option('admin_email');
$mail->title = "댓글이 등록 되었습니다.";
$mail->content = $comment->content;
$mail->url = $url->getDocumentRedirect($content->uid);
$mail->url_name = '페이지로 이동';
$mail->send();
}
}
이 코드를 조금 응용하여
1. 관리자를 제외한 모든 사람이 게시글에 댓글이나 답글을 달면 관리자에게 메일로 알림
2. 게시글에 관리자가 댓글이나 답글을 달면 글쓴이에게 이메일 알림
3. 댓글이나 답글에 또 다른 댓글이나 답글이 달리면 글쓴이에게 이메일 알림
말이 조금 어려운데 관리자가 스스로 쓴글을 제외한 모든 댓글과 답글을 관리자가 이메일로 받길 원하고
관리자가 쓴 모든 댓글과 답글을 글쓴이에게 이메일로 전달을 원합니다
안녕하세요~^^
직접 코드를 추가해서 작업하실 땐
디버그 모드를 활성화해서 어떤 오류가 있는지 확인해보셔야 할 듯합니다.
디버그 모드 활성화 방법은 아래의 링크를 참고해보시겠어요?
아래의 코드를 적절히 활용해보시겠어요?
add_action('kboard_document_insert', 'my_reply_email_notify', 10, 2);
function my_reply_email_notify($content_uid, $board_id){
$content = new KBContent();
$content->initWithUID($content_uid);
$parent = $content->getTopContent();
$board = new KBoard($board_id);
if($content->uid != $parent->uid){
if(!$board->isAdmin()){
$notify_email = get_option('admin_email');
}
else{
$user_info = get_userdata($parent->member_uid);
$notify_email = $user_info->user_email;
}
if($notify_email){
if(!class_exists('KBMail')){
include_once KBOARD_DIR_PATH . '/class/KBMail.class.php';
}
$url = new KBUrl();
$mail = new KBMail();
$mail->to = $notify_email;
$mail->title = "답글이 등록 되었습니다.";
$mail->content = $content->content;
$mail->url = $url->getDocumentRedirect($content->uid);
$mail->url_name = '페이지로 이동';
$mail->send();
}
}
}
add_action('kboard_comments_insert', 'my_comment_email_notify', 10, 2);
function my_comment_email_notify($comment_uid, $content_uid){
$comment = new KBComment();
$comment->initWithUID($comment_uid);
$content = new KBContent();
$content->initWithUID($content_uid);
$board = $content->getBoard();
if(!class_exists('KBMail')){
include_once KBOARD_DIR_PATH . '/class/KBMail.class.php';
}
if(!$board->isAdmin()){
$url = new KBUrl();
$mail = new KBMail();
$mail->to = get_option('admin_email');
echo $mail->to; exit;
$mail->title = "댓글이 등록 되었습니다.";
$mail->content = $comment->content;
$mail->url = $url->getDocumentRedirect($content->uid);
$mail->url_name = '페이지로 이동';
$mail->send();
}
else{
$user_info = get_userdata($content->member_uid);
$url = new KBUrl();
$mail = new KBMail();
$mail->to = $user_info->user_email;
echo $mail->to; exit;
$mail->title = "댓글이 등록 되었습니다.";
$mail->content = $comment->content;
$mail->url = $url->getDocumentRedirect($content->uid);
$mail->url_name = '페이지로 이동';
$mail->send();
}
}
답글 작성 시 작성자에게 이메일 전송 기능은 아래의 링크를 참고해보세요.
http://www.cosmosfarm.com/threads/document/16667
댓글 알림은 아래의 링크들을 참고해보시겠어요?
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
저희가 일일이 코드를 만들어 드릴 수 없기 때문에
직접 파일 수정이 어려우시다면 저희 고객지원 쪽으로 유료 기술지원 요청을 해주시겠어요?
고맙습니다.