안녕하세요, 덕분에 버튼 생성해서 카테고리 변경으로 잘 만들었습니다.
그런데 아직 관리자에게 이메일이 안옵니다.
코드 확인좀 부탁드립니다.
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($content->uid);
$mail->url_name = '페이지로 이동';
$mail->send();
}
button 생성 function script는
<script>
function kboard_new_category_update(content_uid, new_category){
kboard_content_update(content_uid, {category2:new_category}, function(res){
if(res.result == 'success'){
alert('신청 완료되었습니다.');
}
else{
alert(res.message);
}
});
}
</script>
이렇게 했습니다.
안녕하세요~^^
본문에 프로그램 코드를 올려야 할 경우 에디터의 "코드 스니펫 삽입" 기능을 사용해주시길 부탁드립니다.
코드상에 에러가 있는 듯합니다.
아래 코드로 사용해보시겠어요?
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 = '페이지로 이동';
$mail->send();
}
$mail->url = $url->getDocumentRedirect($document->uid); 이 코드로 변경되었습니다.
고맙습니다.
아직 메일이 오지 않는데 무엇이 문제 인지 모르겠습니다.
list.php엔
<button type="button" onclick="kboard_new_category_update('<?php echo $content->uid?>', '신청 Info')">신청</button>
<script>
function kboard_new_category_update(content_uid, new_category){
kboard_content_update(content_uid, {category2:new_category}, function(res){
if(res.result == 'success'){
alert('신청 완료되었습니다.');
}
else{
alert(res.message);
}
});
}
</script>
이렇게 하고 functions.php 엔 알려주신대로 했습니다.
안녕하세요~^^
받는 쪽 이메일의 스팸함에도 없는지요?
WP Mail SMTP 플러그인을 사용해서 네이버 메일, 구글 지메일 등으로 세팅해서
호스팅 서버에서 메일을 보내는 게 아닌 신뢰 높은 메일 서비스에서 보내도록 하시면 전송 실패 확률을 낮출 수 있을 듯합니다.
만약 위의 방법으로도 해결되지 않는다면
이메일 보내는 기능은 엄밀히 말하면 서버 기능이기 때문에 호스팅 쪽에 문의를 해보셔야 할 듯합니다.
메일이 도착하지 않는다고 문의를 해보세요.
고맙습니다.
안녕하세요, WP Mail SMTP 설치해보니 이거 빼곤 다른건 메일이 잘옵니다. 호스팅 쪽에 문의도 넣어봐도 문제가 없어보입니다.
add_action('kboard_document_update', 'my_admin_category_email_alert', 10, 2);
function my_admin_category_email_alert($content_uid, $board_id){
혹시 이 함수가 button함수와 맞지 않아서 안되는건가요? document가 아닌 list.php에 있어서 안되는건가요?
코드 스니펫 삽입 해봣는데 function error 없이 save잘됩니다.
안녕하세요.
버튼의 onclick 함수명과 액션의 함수명이 달라도 문제가 되지 않습니다.
ajax로 게시글 업데이트 시에는 kboard_update_data 액션을 사용하시면 될 듯합니다.
list.php 파일에 아래와 같은 코드를 추가해보시겠어요?
<script>
function kboard_new_category_update(content_uid, content, new_category){
kboard_content_update(content_uid, {category2:new_category, content:content}, function(res){
if(res.result == 'success'){
alert('신청 완료되었습니다.');
}
else{
alert(res.message);
}
});
}
</script>
<button type="button" onclick="kboard_new_category_update('<?php echo $content->uid?>', '<?php echo $content->content?>', '신청 Info')">신청</button>
테마의 functions.php 파일에는 아래의 코드를 추가해보세요.
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;
}
고맙습니다.