안녕하세요. 개발자님.
현재 원글에 댓글을 작성하면 원글 작성자에게 이메일로 댓글의 내용을 알려주는 스니펫 코드를 찾아 사용중입니다.
https://www.cosmosfarm.com/threads/document/26043
그러나 받아 본 회원들이 내용이 너무 없어 이메일 알림에 약간의 거부감이 있다고 하여 좀더 자세히 내용과 함께 알림을 받고 싶습니다.
이메일로 발송하는 내용이 아래와 같으면 좋겠습니다.
=============================================
안녕하세요! 홍길동입니다.
[display_name A]님이 작성한 원래 글에 새로운 댓글이 있어 알려 드립니다.
댓글 작성자 : [display_name B] 님
댓글 작성일 : [date]
원글 제목 : [title]
글과 댓글 : 이동하여 댓글 보기
게시판 이름 : [KBoard Name]
=============================================
참고 설명!
[display_name A] 원글 작성자의 워드프레스 디스플레이 네임
[display_name B] 댓글 작성자의 워드프레스 디스플레이 네임
링크 클릭시 댓글이 있는 원래 글로 이동(커뮤니티 형성을 위해)
많은 고민으로 어떤 정보를 알려주면 원글 작성자가 부담없이 이메일을 받을 수 있을까 고민하였습니다.
1. 이메일로 보내는 내용은 현재 너무 적다고 판단하여 DB를 불러 올 수 있는 것을 고려했습니다.
2. 그리고 이메일에 댓글의 내용을 보여주면 원글 작성자가
다시 방문 하지 않기 때문에 커뮤니티 형성에 도움되고자 과감히 댓글의 내용을 보기 위해서는 해당 사이트로 이동을 해야 합니다.
개발자님이 스니펫 코드로 만들어주시면 수많은 KBoard 사용자가 사용 할 것이 생각합니다.
조금 힘드시겠지만 만들어 주시면 어떨까요?
정중히 부탁드립니다.
알겠습니다.
원글 작성자 댓글 받는 것 말고 답글을 달았을때도 이메일 알림을 요청하고 싶었지만.
답글 이메일 알림은 기존의 코드를 사용하겠습니다.
기존코드 https://www.cosmosfarm.com/threads/document/16667 (다른 사용자들 위해 링크 남김)
답글 이메일 알림은 사용 빈도가 조금 낮아 이것은 나중에 한꺼번에 유료 기술 지원으로 요청하겠습니다.
작업해주신 것은 아주 만족스럽습니다.
감사히 잘 사용하겠습니다.
수고하셨습니다.
안녕하세요.
말씀하신 것처럼 적용하시려면 아래의 코드로 교체해보세요.
add_action('kboard_comments_insert', 'kboard_comments_insert_20210601', 10, 3);
function kboard_comments_insert_20210601($insert_id, $content_uid, $board){
$comment = new KBComment();
$comment->initWithUID($insert_id);
$document = new KBContent();
$document->initWithUID($content_uid);
$url = new KBUrl();
if($document->member_uid){
$user = new WP_User($document->member_uid);
if($user->user_email && $user->ID != get_current_user_id()){
kboard_mail();
$comment_author = new WP_User(get_current_user_id());
$mail_content = '안녕하세요! 홍길동입니다.<br>';
$mail_content .= "{$document->getUserName()}님이 작성한 원래 글에 새로운 댓글이 있어 알려 드립니다.<br><br>";
$mail_content .= "댓글 작성자 : {$comment->getUserName()} 님<br>";
$mail_content .= '댓글 작성일 : '.date('Y-m-d H:i', strtotime($comment->created)).'<br><br>';
$mail_content .= "원글 제목 : {$document->title}<br>";
$mail_content .= '글과 댓글 : <a href="'.esc_url($url->getDocumentRedirect($document->uid)).'" style="font-weight: bold;">이동하여 댓글 보기</a><br>';
$mail_content .= "게시판 이름 : {$board->board_name}";
$url = new KBUrl();
$mail = new KBMail();
$mail->to = $user->user_email;
$mail->title = "[KBoard 신규 댓글] {$document->title}";
$mail->content = $mail_content;
$mail->send();
}
}
}
저희가 커뮤니티에서 코드를 직접 만들어드리는 건 한계가 있기 때문에
다음엔 프로젝트 의뢰에 상세 내용을 올려주시거나 유료 기술지원을 요청해주시길 부탁드립니다.
고맙습니다.
위의 개발해 주신 코드를 저희 사이트에 스니펫으로 부착하였습니다.
댓글을 사용자가 썻을 경우 원글 작성자가 받은 알림 이메일을 첨부합니다.
이미지가 깨지는 것은 이메일 확인 할때 이미지 보이지 않음을 해서 그런것 같습니다.
조금만 더 수정해주시면 어떻겠습니까?
아래는 제가 원하는 수정안입니다.
1. 원글 작성자 a 와 댓글 작성자 b 링크가 없었으면 좋겠습니다. 그냥 밑줄도 없고 글자도 검은색 나오면 좋겠습니다. 앞에 프로필 사진 이라는 글자도 없었으면 좋겠습니다.
2. 이동하여 댓글 보기는 진하게 링크(B)가 걸렸으면 좋겠습니다.
3. 댓글 작성일(날짜)와 원글 제목 사이에 한칸 띄움(세로 br 또는 P 태그)이 있었으면 좋겠습니다.
4. 맨 마지막 파란색 링크는 없었으면 좋겠습니다. 그래서 빨간색으로 지워버렸습니다.
개발자 아니라 전혀 코드에 대한 이해가 없어 다시 한번 정중히 부탁드리겠습니다.
왓!
감사합니다.
지금 당장 코드스니펫에 붙여보고 결과 보고드리겠습니다.
작업하러 갔다 오겠습니다.
안녕하세요~^^
KBoard 플러그인에서 댓글 작성 시 원글 작성자에게 이메일 알림을 보낼 때
올려주신 형식처럼 적용하시려면
아래의 코드를 활용해보세요.
add_action('kboard_comments_insert', 'kboard_comments_insert_20210531', 10, 3);
function kboard_comments_insert_20210531($insert_id, $content_uid, $board){
$comment = new KBComment();
$comment->initWithUID($insert_id);
$document = new KBContent();
$document->initWithUID($content_uid);
$url = new KBUrl();
if($document->member_uid){
$user = new WP_User($document->member_uid);
if($user->user_email && $user->ID != get_current_user_id()){
kboard_mail();
$comment_author = new WP_User(get_current_user_id());
$mail_content = '안녕하세요! 홍길동입니다.<br>';
$mail_content .= "{$document->getUserDisplay()}님이 작성한 원래 글에 새로운 댓글이 있어 알려 드립니다.<br><br>";
$mail_content .= "댓글 작성자 : {$comment->getUserDisplay($comment->getUserName())} 님<br>";
$mail_content .= '댓글 작성일 : '.date('Y-m-d H:i', strtotime($comment->created)).'<br>';
$mail_content .= "원글 제목 : {$document->title}<br>";
$mail_content .= '글과 댓글 : <a href="'.esc_url($url->getDocumentRedirect($document->uid)).'">이동하여 댓글 보기</a><br>';
$mail_content .= "게시판 이름 : {$board->board_name}";
$url = new KBUrl();
$mail = new KBMail();
$mail->to = $user->user_email;
$mail->title = "[KBoard 신규 댓글] {$document->title}";
$mail->content = $mail_content;
$mail->url = $url->getDocumentRedirect($document->uid);
$mail->send();
}
}
}
테마의 functions.php 파일에 코드를 추가하거나 Code Snippets 플러그인을 사용해서 코드를 추가할 수 있습니다.
추가로 궁금하신 사항은 댓글로 이어서 남겨주시길 부탁드립니다.
고맙습니다.