KBoard 댓글에 서식이 메일로 오지 않습니다.
<div class="comments-field">
<label class="comments-field-label"> 지원분류 : </label>
<input type="checkbox" name="comment_option_stype1" value="방문">방문
<input type="checkbox" name="comment_option_stype2" value="원격">원격
<input type="checkbox" name="comment_option_stype3" value="대기">대기
<input type="checkbox" name="comment_option_stype4" value="유선">유선
</div>
<div class="comments-field">
<label class="comments-field-label"> 지원종류 : </label>
<input type="checkbox" name="comment_option_skinds1" value="정기점검">정기점검
<input type="checkbox" name="comment_option_skinds2" value="장애지원">장애지원
<input type="checkbox" name="comment_option_skinds3" value="기술지원">기술지원
</div>
==========
<?php $stype1=$comment->option->stype1?>
<?php $stype2=$comment->option->stype2?>
<?php $stype3=$comment->option->stype3?>
<?php $stype4=$comment->option->stype4?>
<?php if( !empty($stype1 )){
echo __('지원분류 : ', 'kboard') ;
$mail_stype='지원분류 :';
}elseif( !empty($stype2 )){
echo __('지원분류 : ', 'kboard') ;
$mail_stype='지원분류 :';
}elseif( !empty($stype3 )){
echo __('지원분류 : ', 'kboard') ;
$mail_stype='지원분류 :';
}elseif( !empty($stype4 )){
echo __('지원분류 : ', 'kboard') ;
$mail_stype='지원분류 :';
}?>
<?php if( !empty($stype1 )){
echo $comment->option->stype1;
$mail_stype .=$stype1 ;
}
if( !empty($stype2 )){
echo $comment->option->stype2;
$mail_stype .=$stype2 ;
}
if( !empty($stype3 )){
echo $comment->option->stype3;
$mail_stype .=$stype3 ;
}
if( !empty($stype4 )){
echo $comment->option->stype4;
$mail_stype .=$stype4 ;
}
echo("<br>")
?>
<?php $skinds1=$comment->option->skinds1?>
<?php $skinds2=$comment->option->skinds2?>
<?php $skinds3=$comment->option->skinds3?>
<?php $skinds4=$comment->option->skinds4?>
<?php if( !empty($skinds1 )){
echo __('지원종류 : ', 'kboard') ;
}elseif( !empty($skinds2 )){
echo __('지원종류 : ', 'kboard') ;
}elseif( !empty($skinds3 )){
echo __('지원종류 : ', 'kboard') ;
}elseif( !empty($skinds4 )){
echo __('지원종류 : ', 'kboard') ;
}?>
<?php if( !empty($skinds1 )){
echo $comment->option->skinds1;
}
if( !empty($skinds2 )){
echo $comment->option->skinds2;
}
if( !empty($skinds3 )){
echo $comment->option->skinds3;
}
if( !empty($skinds4 )){
echo $comment->option->skinds4;
}
echo("<br>")
?>
=====
여기까지는 완벽한데 ....내용이 메일로 전송하면 텍스트 박스에 있는 내용만 발송돼는데. 위에 서식 내용도 받을수 있을까요?
항상 감사합니다.
안녕하세요~^^
프로그램 코드는 글쓰기 에디터에 있는 "코드 스니펫 삽입" 기능으로 올려주시길 부탁드립니다.
아마도 알림이 전송되도록 추가한 코드에 내용만 전송되도록 되어있을 듯합니다.
해당 코드에 내용과 함께 추가한 서식의 데이터가 보내지도록 코드를 수정하셔야 할 듯합니다.
우선 알림이 전송되도록 테마의 functions.php 파일에 추가하신 코드도 함께 올려주시겠어요?
도움을 드릴 수 있을지 확인해보겠습니다.
고맙습니다.
<?php
//if(!function_exists('my_kboard_email_alerts')){
add_action('kboard_comments_insert', 'my_kboard_email_alerts', 10, 2);
function my_kboard_email_alerts($comment_uid, $content_uid){
$comment = new KBComment();
$comment->initWithUID($comment_uid);
$content = new KBContent();
$content->initWithUID($content_uid);
$email = explode(',', $content->option->email);
if($email){
if(!class_exists('KBMail')){
include_once KBOARD_DIR_PATH . '/class/KBMail.class.php';
}
//댓글입력자 20180904
$comment_author = new WP_User(get_current_user_id());
$mail_content = '작 성 자 : ' . $comment_author->display_name . '<br>';
$mail_content .= $comment->content;
//입력자
$url = new KBUrl();
$mail = new KBMail();
// $mail->to = $user->user_email;
$mail->to = $email;
$mail->title = "[댓글알림] {$content->title}";
$mail->content = $mail_content;
// $mail->content = $comment->content;
$mail->url = $url->getDocumentRedirect($content->uid);
$mail->url_name = __('Go to Homepage', 'kboard');
$r = $mail->send();
}
}
//}
========
dd_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';
}
$comment_author = new WP_User(get_current_user_id());
$mail_content = '작성자 : ' . $comment_author->display_name . '<br>';
$mail_content .= $comment->content;
$url = new KBUrl();
$mail = new KBMail();
$mail->to = $user->user_email;
$mail->title = "[Portal 댓글] {$document->title}";
$mail->content = $mail_content;
$mail->url = $url->getDocumentRedirect($document->uid);
$mail->send();
}
}
}
@ini_set( 'upload_max_size' , '100M' );
@ini_set( 'post_max_size', '100M');
@ini_set( 'max_execution_time', '300' );
function redirect_to_front_page() {
global $redirect_to;
if (!isset($_GET['redirect_to'])) {
$redirect_to = get_option('siteurl');
}
}
add_action('login_form','redirect_to_front_page');
add_filter('kboard_latest_alerts_message', 'my_kboard_latest_alerts_message', 10, 2);
function my_kboard_latest_alerts_message($mail_content, $content){
$mail_content = '작 성 자 : '. $content->member_display .'<br><br>' . $mail_content;
return $mail_content;
}
==========
두개입니다.
첫번째 skin 에 포함된 function.php 이고 아래는 테마에 function.php 입니다.
안녕하세요.
두 코드 중 실제 적용되는 코드는 어떤 코드이신지요?
테마 쪽에 추가하신 코드로 설명을 드리겠습니다.
올려주신 코드에서 아래의 코드를 찾아서
$mail_content = '작성자 : ' . $comment_author->display_name . '<br>';
찾은 코드 밑에 아래의 코드를 추가해보시겠어요?
if(isset($_POST['comment_option_stype1']) && $_POST['comment_option_stype1']){
$mail_content .= '지원분류 : ' . $_POST['comment_option_stype1'];
}
위와 같이 코드를 추가하시면 댓글 작성 시
지원분류의 방문 체크박스를 체크하면 메일에 해당 체크박스의 내용도 포함되어 전송합니다.
다른 필드들도 위와 같이 적용해보시겠어요?
고맙습니다.
감사합니다. 그런데 그건 잘돼는데..
list.php
<div class="attr-value">
<div class="calendar-event-start-date-set">
<input type="text" style="width: 80px;" class="datepicker" id="comment_option_start_date" name="comment_option_start_date" onchange="kboard_set_start_date(this.value)" value="<?php echo $comment->option->startdate ? $content->option->start_date : (isset($ymd) ? $ymd : $today)?>" title="<?php echo __('Start Date Setting', 'kboard-cross-calendar')?>" readonly>
<input type="text" style="width: 50px;" class="timepicker" name="comment_option_start_time" maxlength="5" value="<?php echo $comment->option->start_time ? $comment->option->start_time : date('H:i', strtotime('9:00'))?>" title="<?php echo __('Start Time Setting', 'kboard-cross-calendar')?>">
~
<input type="text" style="width: 80px;" class="datepicker" id="comment_option_end_date" name="comment_option_end_date" onchange="kboard_end_date_check(this.value)" value="<?php echo $comment->option->end_date ? $comment->option->end_date : (isset($ymd) ? $ymd : $today)?>" title="<?php echo __('End Date Setting', 'kboard-cross-calendar')?>" readonly>
<input type="text" style="width: 50px;" class="timepicker" name="comment_option_end_time" maxlength="5" value="<?php echo $comment->option->end_time ? $comment->option->end_time : date('H:i', strtotime('18:00'))?>" title="<?php echo __('End Time Setting', 'kboard-cross-calendar')?>">
</div>
</div>
function.php
if(isset($_POST['comment->option->start_date']) && $_POST['comment->option->start_date']){
$mail_content .= '지원시간 :' . $_POST['comment->option->start_date'];
}
if(isset($_POST['comment->option->start_time']) && $_POST['comment->option->start_time']){
$mail_content .= $_POST['comment->option->start_time'];
}
$mail_content .= ' ~ ';
if(isset($_POST['comment->option->end_date']) && $_POST['comment->option->end_date']){
$mail_content .= $_POST['comment->option->end_date'];
}
if(isset($_POST['comment->option->end_time']) && $_POST['comment->option->end_time']){
$mail_content .= $_POST['comment->option->end_time'];
}
시간은 전송돼지 않는 문제가 있습니다.
감사합니다.
코드를 올려주실 땐 에디터의 "코드 스니펫 삽입" 기능으로 삽입해주세요.
그렇지 않으면 코드가 이상해져서 에러 나는 코드로 바뀌거나,
질의응답 시 의사소통에 오해와 문제가 생길 수도 있기 때문입니다.
테마 쪽 functions.php 파일에 추가하신 코드가 잘못된 듯합니다.
$_POST['comment->option->start_date'] 부분을 $_POST['comment_option_start_date']로 변경해보시겠어요?
start_time, end_date, end_time 모두 교체해보세요.
고맙습니다.
고맙습니다.