댓글을 쓰면 글 게시자에게 댓글 알림이 메일로 갑니다.
댓글을 단 A라는 사람 글에 B글게시자, 관리자가 답글을 남기면 A댓글분에게 메일로 답글에 대한 알림이 갔으면 좋겠습니다.
두분 다 회원입니다.
검색하다 아래 코드를 functions.php에 넣었습니다. 표시되는 오류들입니다..
.에러로그 > PHP Notice: Undefined index: product_type in /wp-content/plugins/mangboard/plugins/widgets/commerce_gallery/commerce_gallery.php on line 156
.워드프레스 > 외모> 테마편집기에서 수정하며....
>> 오류글: 치명적인 에러를 점검하기 위해 사이트와 통신할 수 업습니다. 따라서 PHP 변경사항이 원래의 것으로 복구됐습니다. PHP 파일 변경사항을 SFTP와 같은 다른 수단을 통해 업로드 해야 합니다.
(https://www.cosmosfarm.com/threads/document/12637)
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();
}
}
}
--------------------------------------------------
현재 >>
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();
}
}
}
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();
}
}
}
해결했습니다. 정말 감사합니다!!!
안녕하세요~^^
PHP Notice: Undefined index: product_type in /wp-content/plugins/mangboard/plugins/widgets/commerce_gallery/commerce_gallery.php on line 156
메시지는 KBoard 플러그인이 아닌 망보드 쪽에서 표시하는 듯합니다.
해당 제작자에게 문의해보시겠어요?
워드프레스 관리자 페이지에서 테마의 functions.php 파일을 수정할 수 없다면
모든 플러그인을 비활성화하신 후에 다시 수정해보시겠어요?
그래도 같은 문제가 발생한다면 호스팅 업체에 문의를 해보셔야 할 듯합니다.
또는 FTP로 접속해서 /wp-content/themes/사용중인테마/functions.php 파일에 직접 추가해주셔도 됩니다.
워드프레스의 액션은 여러 개 등록할 수 있지만
PHP 함수는 같은 이름을 중복해서 사용할 수 없습니다.
올려주신 기존의 코드를 아래처럼 변경해보시겠어요?
add_action('kboard_comments_insert', 'my_kboard_comments_insert', 10, 2);
function my_kboard_comments_insert($insert_id, $content_uid){
// 생략...
}
add_action('kboard_comments_insert', 'my_kboard_comments_insert1', 10, 2);
function my_kboard_comments_insert1($comment_uid, $content_uid){
// 생략...
}
my_kboard_comments_insert, my_kboard_comments_insert1 이런 식으로 동일한 함수명 대신 다르게 해주셔야 합니다.
워드프레스 액션에 대한 설명은 아래의 링크를 참고해보시겠어요?
https://developer.wordpress.org/reference/functions/add_action
고맙습니다.