게시판 추가 입력필드 메일알림 관련 문의

 

안녕하세요. 일반 게시판 스킨 이용 중이고, 메일알림 설정을 했습니다.

제가 커스텀으로 추가한 입력필드가 굉장히 많은 데, 

아래 코드대로 functions에 넣었더니, 입력하지 않은 필드명도 따라오더라구요

입력하지 않은 필드는 메일알림 내용에 없이 하고 싶은데 방법이 있을까요??

 

예를들어 아래 필드항목들중, "면적(평형)" 필드에 사용가자 입력을 안하면

고객명, 연락처, 이메일, 주소, 공사예정일, 개인정보동의 만 메일알림오게 하고 싶습니다.

 

http://dainhousing.com/?page_id=1347&mod=editor&pageid=1

-------------------------------------------------------------------------------------------------------

add_filter('kboard_latest_alerts_message', 'my_kboard_latest_alerts_message1', 10, 2); 
function my_kboard_latest_alerts_message1($mail_content, $content){
    $board = $content->getBoard();
    if($board->id == '6'){ // 실제 게시판 id로 적용해주세요.
        $mail_content = 
            '고객명 : '.$content->member_display .'<br>'.'<hr>'
            .'연락처 : '.$content->option->{'tel1'}.'-'.$content->option->{'tel2'}.'-'.$content->option->{'tel3'}.'<br>'.'<hr>'
            .'이메일 : '.$content->option->{'email'}.'<br>'.'<hr>'
            .'주소 : '.'('.$content->option->{'postcode'}.')'.$content->option->{'address'}.$content->option->{'address2'}.'<br>'.'<hr>'
            .'면적(단위:평형) : '.$content->option->{'measure1'}.'평, '.$content->option->{'measure2'}.'&nbsp;'.$content->option->{'measure3'}.'&nbsp;'.$content->option->{'measure4'}.'&nbsp;'.$content->option->{'measure5'}.$content->option->{'measure6'}.'<br>'.'<hr>'
            .'공사예정일 : '.$content->option->{'date'}.'<br>'.'<hr>'
            .'개인정보 수집 및 이용약관 : '.$content->option->{'agree_checkbox'}.'<br>'.'<hr>';
        $mail_content .= $content->getDocumentOptionsHTML();
    }
    return $mail_content;
}
 

 

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
  • 안녕하세요~^^

    프로그램 코드를 올려야 할 경우 반드시 에디터의 코드 스니펫 삽입 기능을 사용해주세요.

     

    KBoard 플러그인에서 최신글 이메일 알림 기능을 사용 중이신지요?

    이메일에 표시되는 입력 필드는 입력 필드 설정 중 "게시글 본문에 표시" 체크박스에 체크한 입력 필드가 표시됩니다.

    워드프레스 관리자 -> KBoard -> 게시판 목록 -> 게시판 선택 -> 입력필드 설정 탭에서

    설정하실 수 있습니다.

     

    kboard_latest_alerts_message 필터에 특정 입력 필드만 보내게 하시려면

    올려주신 코드 중 아래의 코드는 지우신 후 확인해보시겠어요?

    $mail_content .= $content->getDocumentOptionsHTML();

    고맙습니다.

  • 추가한 입력필드는 아래 블로그 참고해서 커스터마이징 했습니다.

    https://blog.naver.com/PostView.nhn?blogId=chan2rrj&logNo=221216931199

     

    그래서 알려주신 입력필드 설정 탭에서 보여지지 않구요 ㅠㅠ

    알려주신 코드 삭제해봤는데도 반영이 안됩니다..

    $mail_content .= $content->getDocumentOptionsHTML();

     

  • 안녕하세요.

    저희가 질문을 잘못 이해한 듯합니다.

    입력 필드의 내용이 있을 때만 메일 내용에 표시하시려면

    기존의 코드 대신

    아래의 코드를 활용해보시겠어요?

    add_filter('kboard_latest_alerts_message', 'kboard_latest_alerts_message_20210106', 10, 2);
    function kboard_latest_alerts_message_20210106($mail_content, $content){
    	$board = $content->getBoard();
    	if($board->id == '6'){ // 실제 게시판 id로 적용해주세요.
    		$mail_content = '고객명 : '.$content->member_display .'<br>'.'<hr>';
    		if($content->option->{'tel1'}){
    			$mail_content .= '연락처 : '.$content->option->{'tel1'}.'-'.$content->option->{'tel2'}.'-'.$content->option->{'tel3'}.'<br>'.'<hr>';
    		}
    		if($content->option->{'email'}){
    			$mail_content .= '이메일 : '.$content->option->{'email'}.'<br>'.'<hr>';
    		}
    		if($content->option->{'postcode'}){
    			$mail_content .= '주소 : '.'('.$content->option->{'postcode'}.')'.$content->option->{'address'}.$content->option->{'address2'}.'<br>'.'<hr>';
    		}
    		if($content->option->{'measure1'}){
    			$mail_content .= '면적(단위:평형) : '.$content->option->{'measure1'}.'평, '.$content->option->{'measure2'}.'&nbsp;'.$content->option->{'measure3'}.'&nbsp;'.$content->option->{'measure4'}.'&nbsp;'.$content->option->{'measure5'}.$content->option->{'measure6'}.'<br>'.'<hr>';
    		}
    		if($content->option->{'date'}){
    			$mail_content .= '공사예정일 : '.$content->option->{'date'}.'<br>'.'<hr>';
    		}
    		if($content->option->{'agree_checkbox'}){
    			$mail_content .= '개인정보 수집 및 이용약관 : '.$content->option->{'agree_checkbox'};
    		}
    	}
    	
    	return $mail_content;
    }

    고맙습니다.

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요