kboard 확장필드:파일 wp_mail 발송방법

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();

    고맙습니다.

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기