add_action('kboard_document_insert', 'my_kboard_document_insert1', 10, 4);
function my_kboard_document_insert1($content_uid, $board_id, $content, $board){
if($board_id == '3'){
$to = 'vnfmspt___@naver.com';
$html .= '[테스트] '.$content->title.'<br />';
$html .= '[첨부파일]'. $content->attach->file.'<br /><br />';
$subject = '[BHSN 테스트] '.$content->title;
$body = $html;
$headers = array('Content-Type: text/html; charset=UTF-8');
wp_mail( $to, $subject, $body, $headers );
}
}
스킨은 contact-form 입니다. 파일의 메타키는 file 입니다.
입력필드 설정 -> 확장필드 -> 파일을 이용하여 저장하였고,
최종적으로 파일첨부하고 보내기를 했을때, 메일로 첨부파일을 받고싶습니다.
코드를 어떻게 변경하면 될까요?
안녕하세요~^^
KBoard 게시판에서 게시글 작성 시 최신글 이메일 알림 기능을 활용하시면
별도로 코드를 추가하지 않더라도
새로운 게시글 작성 시 관리자에게 알림을 보내며 첨부파일이 있을 경우 첨부파일도 보내고 있습니다.
워드프레스 관리자 -> KBoard -> 게시판 목록 -> 게시판 선택 -> 기본설정 탭에서 설정하실 수 있습니다.
별도로 코드를 추가해서 wp_mail 사용 시 첨부파일을 보내게 하시려면
올려주신 코드 대신 아래의 코드로 교체해서 활용해보시겠어요?
add_action('kboard_document_insert', 'kboard_document_insert_20200910', 10, 4);
function kboard_document_insert_20200910($content_uid, $board_id, $content, $board){
if($board_id == '1'){ // 실제 게시판 id로 적용해주세요.
$to = '이메일'; // 실제 이메일 주소로 적용해주세요.
$subject = '[BHSN 테스트] '.$content->title;
$body = '[테스트] '.$content->title.'<br />';
$headers = array('Content-Type: text/html; charset=UTF-8');
$attachments = untrailingslashit(ABSPATH) . $content->attach->메타키[0];
wp_mail( $to, $subject, $body, $headers, $attachments );
}
}
위의 코드에서 $board_id == '1' 부분은 실제 게시판 id로 적용해주세요.
이메일 부분은 실제 알림 받을 이메일로 적용해보세요.
메타키 부분에는 실제 파일 필드의 메타키로 적용해보시겠어요?
wp_mail에 대한 자세한 내용은
아래의 링크를 참고해보세요.
https://developer.wordpress.org/reference/functions/wp_mail/
고맙습니다.
안녕하세요. 답변 주신대로 코드를 수정하고 확인해봤는데, 실제 메일에서 확인해보면 첨부파일은 없는데, 별다른원인이 있을까요? 보내주시면 코드 그대로 사용했습니다.
if($board_id == '3'){
$to = 'vnfmspt___@naver.com';
$html .= '[테스트] '.$content->title.'<br />';
$html .= '[첨부파일]'. $content->attach->file[0].'<br /><br />';
$subject = '[BHSN 테스트] '.$content->title;
$body = $html;
$headers = array('Content-Type: text/html; charset=UTF-8');
$attachments = untrailingslashit(ABSPATH) . $content->attach->file[0];
wp_mail( $to, $subject, $body, $headers, $attachments);
}
안녕하세요.
이전에 안내해드린 코드가 정상적으로 동작하지 않는다면
아래의 코드를 찾아서
$to = '이메일'; // 실제 이메일 주소로 적용해주세요.
찾은 코드 위에 아래의 코드를 추가해서 확인해보시겠어요?
$content->initAttachedFiles();
고맙습니다.