코스모스팜 스레드

댓글 첨부파일및 사진파일 메일발송

안녕하세요.

또 문의드립니다.

댓글을 메일로 잘 할용하고 있습니다.

얼마전에 코스모팜에 도움을 받아 신규작성게시물 파일을 첨부하면  신규알림메일에 첨부한 사진과 파일이 전송되는 기능을 잘 활용하고 있습니다.

문제는 댓글에 파일을 첨부하면 댓글발송 메일에 사진이나 파일이 첨부될수 있는지 문의 드립니다.

            $mail_content .= $comment->content;
            $url = new KBUrl();
            $mail = new KBMail();
            $mail->to = $email;
            $mail->title = "[댓글알림] {$content->title}";
            $mail->content = $mail_content;
            $mail->url = $url->getDocumentRedirect($content->uid);
            $mail->url_name = __('Go to Homepage', 'kboard');
            $r = $mail->send();

 

댓글메일 발송 코드입니다.

 

매번 감사합니다.

 

 

무제한으로 웹사이트를 만드세요. (코스모스팜 무제한 라이센스)
무제한으로 웹사이트를 만드세요. (코스모스팜 무제한 라이센스)
  • 안녕하세요~^^

    현재의 구조로는 댓글 작성 시 첨부파일 및 사진 전송이 어려울 듯합니다.

    KBoard 댓글 플러그인 쪽 코드를 수정해주셔야 할 듯합니다.

     

    직접 파일 수정이 가능하시다면,

    FTP로 접속해서 /wp-content/plugins/kboard-comments/class/KBCommentController.class.php 파일에

    아래의 코드를 찾아보세요.

    wp_redirect(wp_get_referer() . "#kboard-comments-{$content_uid}");

    찾은 코드 위에 아래의 코드를 추가해보시겠어요?

    do_action('kboard_after_comments_insert', $comment_uid, $content_uid, $board);

     

    그 다음, 워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에

    아래의 코드를 추가해보세요.

    add_action('kboard_after_comments_insert', 'my_kboard_after_comments_insert', 10, 3);
    function my_kboard_after_comments_insert($comment_uid, $content_uid, $board){
    	if($board->id == '1'){
    		$comment = new KBComment();
    		$comment->initWithUID($comment_uid);
    		
    		$content = new KBContent();
    		$content->initWithUID($content_uid);
    		
    		$mail_attachments = array();
    		
    		if(isset($comment->attach->image1)){
    			array_push($mail_attachments, KBOARD_WORDPRESS_ROOT.$comment->attach->image1[0]);
    		}
    		if(isset($comment->attach->file1)){
    			array_push($mail_attachments, KBOARD_WORDPRESS_ROOT.$comment->attach->file1[0]);
    		}
    		
    		$email = '이메일주소';
    		
    		$mail_content = $comment->content;
    		$url = new KBUrl();
    		$mail = kboard_mail();
    		$mail->to = $email;
    		$mail->title = "[댓글알림] {$content->title}";
    		$mail->content = $mail_content;
    		$mail->url = $url->getDocumentRedirect($content->uid);
    		$mail->url_name = __('Go to Homepage', 'kboard');
    		$mail->attachments = $mail_attachments;
    		$r = $mail->send();
    	}
    }

    위의 코드에서 $board->id == '1' 부분은 실제 게시판 id로 적용해주세요.

    이메일주소 부분에는 알림 받을 이메일 주소로 적용해보세요.

    고맙습니다.

이미지 사진은 imgur에 업로드한 뒤 링크 걸어주세요.
무제한으로 웹사이트를 만드세요. (코스모스팜 무제한 라이센스)