안녕하세요 Kboard 잘 사용하고 있습니다.
게시판 검색하여 프로그램을 수정중에 있는데 막히는 부분이 있어 여쭙습니다.
document 에 Ajax 카테고리 변경 버튼을 만들고 페이지 이동을 시키고 있는데 function에 카테고리 변경시 이메일 알림에서 Ajax 때문인지 관리자에게 이메일이 안옵니다.
(페이지 수정에서 수동으로 카테고리 선택 후 저장시는 잘 오고 있습니다.)
먼저 document 에 코드는
<button type="button" onclick="kboard_new_category_update('<?php echo $content->uid?>', 'Calculating Shipping Cost')">Go Naver</button>
function kboard_new_category_update(content_uid, new_category){
kboard_content_update(content_uid, {category2:new_category}, function(res){
if(res.result == 'success'){
alert('Requested successfully');
window.location.href= "https://naver.com";
}
else{
alert(res.message);
}
});
}
이고 게시판을 검색해보니 Ajax는 kboard_update_data 액션을 사용해야 하는거 같아
function에 다음과 같이 넣었으나 오류가 뜹니다.
add_action('kboard_update_data', 'my_admin_category_email_alert', 10, 2);
function my_admin_category_email_alert($data, $board_id){
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 = $data['content'];
$mail->url = $url->getDocumentRedirect($document->uid);
$mail->url_name = '페이지로 이동';
$mail->send();
return $data;
}
function 코드만 수정하면 될듯한데 도움 부탁드립니다.
감사합니다.
단순히 Ajax가 원인이라고 판단하기는 어렵습니다.
wp mail SMTP 등의 메일 플러그인으로
메일이 동작하는지 우선 테스트 해보고
이후 Ajax 작업 시 콘솔로 출력해보거나
네트워크 작업을 보면서 Ajax 자체도 정상 동작하는지
확인해보셔야 할 듯 합니다.
고맙습니다.
다음과 같이 코드를 넣었으나 document 에서 ajax 버튼으로 카테고리 변경시
이메일이 오지 않습니다. 게시글을 edit 하여 수동으로 카테고리 변경시 이메일은 잘 오지만 ajax 때문인거 같은데
도와주세요. Ajax 버튼의 경우 카테고리 변경시 관리자에게 이메일이 안오나요?
add_action('kboard_document_update', 'my_admin_category_email_alert', 10, 2);
function my_admin_category_email_alert($content_uid, $board_id){
$document = new KBContent();
$document->initWithUID($content_uid);
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 = $content->content;
$mail->url = $url->getDocumentRedirect($document->uid);
$mail->url_name = 'GO TO PAGE';
$mail->send();
}
안녕하세요~^^
kboard_update_data 액션은 게시글의 uid 정보를 제공하지 않습니다.
위 액션 대신 kboard_document_update 액션을 사용해보시겠어요?
사용 가이드는 아래 링크를 참고해주세요.
https://www.cosmosfarm.com/products/kboard/hooks
메일이 발송되지 않는 원인에는 여러가지가 있습니다.
wp mail SMTP 등의 메일 플러그인으로
테스트 메일이 발송 되는지 확인 해보시는 것을 권장드립니다.
고맙습니다.