안녕하세요, 덕분에 버튼 생성해서 카테고리 변경으로 잘 만들었습니다.
그런데 아직 관리자에게 이메일이 안옵니다.
코드 확인좀 부탁드립니다.
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>
이렇게 했습니다.
안녕하세요.
버튼의 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;
}
고맙습니다.
안녕하세요, 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잘됩니다.
안녕하세요~^^
받는 쪽 이메일의 스팸함에도 없는지요?
WP Mail SMTP 플러그인을 사용해서 네이버 메일, 구글 지메일 등으로 세팅해서
호스팅 서버에서 메일을 보내는 게 아닌 신뢰 높은 메일 서비스에서 보내도록 하시면 전송 실패 확률을 낮출 수 있을 듯합니다.
만약 위의 방법으로도 해결되지 않는다면
이메일 보내는 기능은 엄밀히 말하면 서버 기능이기 때문에 호스팅 쪽에 문의를 해보셔야 할 듯합니다.
메일이 도착하지 않는다고 문의를 해보세요.
고맙습니다.
아직 메일이 오지 않는데 무엇이 문제 인지 모르겠습니다.
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 엔 알려주신대로 했습니다.
안녕하세요~^^
본문에 프로그램 코드를 올려야 할 경우 에디터의 "코드 스니펫 삽입" 기능을 사용해주시길 부탁드립니다.
코드상에 에러가 있는 듯합니다.
아래 코드로 사용해보시겠어요?
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); 이 코드로 변경되었습니다.
고맙습니다.