안녕하세요,
게시글 본문에서 좋아요 버튼 클릭시 관리자에게 이메일로 알림이 가는 기능을 구현하려고 합니다.
(사실은 이 기능을 변형해 게시물 신고하기 버튼을 추가하고자 합니다.)
https://www.cosmosfarm.com/threads/document/49460
https://www.cosmosfarm.com/threads/document/23848
위 글들을 참고하여 아래 코드를 테마의 functions.php에 추가하였더니 좋아요 버튼 클릭시 이메일 알림이 잘 오더군요.
add_action('kboard_content_like', 'kboard_content_like_20210113', 10, 2);
function kboard_content_like_20210113($content, $board){
if(!$board->isAdmin()){
if(!class_exists('KBMail')){
include_once KBOARD_DIR_PATH . '/class/KBMail.class.php';
}
$url = new KBUrl();
$mail = new KBMail();
$mail->to = explode(',', $board->meta->latest_alerts);
$mail->title = "신고가 접수되었습니다.";
$mail->url = $url->getDocumentRedirect($content_uid);
$mail->url_name = '페이지로 이동';
$mail->send();
}
}
근데 게시글이나 댓글이 등록됐을 때처럼 이메일에 해당 게시글 링크가 같이 오지 않고 "신고가 접수되었습니다."라는 이메일 타이틀만 적혀서 옵니다. 이메일 본문은 빈 페이지로요.
다른건 필요없고 버튼이 클릭된 게시글 링크만 같이 기재되었으면 하는데 어떻게 수정하면 될까요?
안녕하세요~^^
올려주신 코드를 아래의 코드로 수정하여 적용해보시겠어요?
add_action('kboard_content_like', 'kboard_content_like_20210113', 10, 2);
function kboard_content_like_20210113($content, $board){
if(!$board->isAdmin()){
if(!class_exists('KBMail')){
include_once KBOARD_DIR_PATH . '/class/KBMail.class.php';
}
$url = new KBUrl();
$mail = new KBMail();
$mail->to = '수신할 이메일';
$mail->title = "신고가 접수되었습니다.";
$mail->content = $content->content;
$mail->url = $url->getDocumentRedirect($content->uid);
$mail->url_name = '신고 게시글로 이동';
$mail->send();
}
}
고맙습니다.
말씀하신대로 적용하니 아주 잘 작동합니다. 감사합니다!