파일 업로드 필수첨부 관련과 내장 에디터의 kboard 미디어추가 관련 문

안녕하세요. function 쪽에 이렇게 넣어주어, 파일업로드관련하여 필수 업로드 할수있도록 해두었습니다. 

add_action('kboard_pre_content_execute', 'my_kboard_pre_content_execute', 10, 3);
function my_kboard_pre_content_execute($content, $board){
	if($board->id == '1'){ // 실제 게시판 id로 적용해주세요.
		if(!(isset($_FILES['kboard_attach_upload_1']['size'])&&$_FILES['kboard_attach_upload_1']['size'])){
			die("<script>alert('첨부파일은 필수입니다.');history.go(-1);</script>");
		}
		if(!(isset($_FILES['kboard_attach_upload_2']['size'])&&$_FILES['kboard_attach_upload_2']['size'])){
			die("<script>alert('첨부파일은 필수입니다.');history.go(-1);</script>");
		}
		$attach_extension1 = array('hwp');
		$attach_extension2 = array('pdf');
		foreach($_FILES as $key=>$file){
			if(isset($file['name']) && $file['name']){
				$file_extension = explode('.', $file['name']);
				$file_extension = end($file_extension);
				if($key == 'kboard_attach_upload_1' && !in_array($file_extension, $attach_extension1)){
					echo '<script>alert("심사용 상세설명은 HWP 파일만 등록할 수 있습니다. 재업로드하세요.");window.history.go(-1);</script>';
					exit;
				}
				if($key == 'kboard_attach_upload_2' && !in_array($file_extension, $attach_extension2)){
					echo '<script>alert("날인된 응모신청서는 PDF 파일만 등록할 수 있습니다. 재업로드하세요.");window.history.go(-1);</script>';
					exit;
				}
			}
		}
		
	}
}

 

작성까지는 잘 처리되나, 

수정하기를 눌러, 수정페이지로 넘어오면, 

파일이 업로드되어 ex) 1.hwp - 파일삭제 

이렇게 보이는데, 

다른부분만 수정 후 저장하기를 누르면, 파일첨부는 필수입니다. 라고 나옵니다.. 

파일이 이미지 첨부되있는 경우에는 위 멘트가 안나오고 바로 저장 될 수 있도록 바꾸려면 어떻게 해야 할까요?

 

그리고

관리자페이지에서 kboard 입력필드 설정 [확장 필드] 에 워드프레스 내장 에디터가 있어 2개를 추가했습니다. (커스텀 필드로)

pdf embed가 가능하도록 플러그인 설치했고요, 

고급설정에서 숏코드 실행 활성화 햇는데, 

숏코드가 실행안되고 그대로 노출되더라고요. 

방법이 없을까요?

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
  • 안녕하세요~^^

    $_FILES 변수는 input 태그의 파일을 가져오기 때문에

    게시글 작성과 수정 코드가 조금 다릅니다.

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

    add_action('kboard_pre_content_execute', 'my_kboard_pre_content_execute', 10, 3);
    function my_kboard_pre_content_execute($content, $board){
    	if($board->id == '1'){ // 실제 게시판 id로 적용해주세요.
    		$content_uid = kboard_uid();
    		if($content_uid){
    			$content->initWithUID($content_uid);
    			$attach = $content->attach;
    			
    			if(!(isset($attach->upload_1)&&$attach->upload_1)){
    				die("<script>alert('첨부파일은 필수입니다.');history.go(-1);</script>");
    			}
    			if(!(isset($attach->upload_2)&&$attach->upload_2)){
    				die("<script>alert('첨부파일은 필수입니다.');history.go(-1);</script>");
    			}
    			
    			$attach_extension1 = array('hwp');
    			$attach_extension2 = array('pdf');
    			foreach($attach as $key=>$file){
    				if(isset($file['file_name']) && $file['file_name']){
    					$file_extension = explode('.', $file['file_name']);
    					$file_extension = end($file_extension);
    					if($key == 'kboard_attach_upload_1' && !in_array($file_extension, $attach_extension1)){
    						echo '<script>alert("심사용 상세설명은 HWP 파일만 등록할 수 있습니다. 재업로드하세요.");window.history.go(-1);</script>';
    						exit;
    					}
    					if($key == 'kboard_attach_upload_2' && !in_array($file_extension, $attach_extension2)){
    						echo '<script>alert("날인된 응모신청서는 PDF 파일만 등록할 수 있습니다. 재업로드하세요.");window.history.go(-1);</script>';
    						exit;
    					}
    				}
    			}
    		}
    		else{
    			if(!(isset($_FILES['kboard_attach_upload_1']['size'])&&$_FILES['kboard_attach_upload_1']['size'])){
    				die("<script>alert('첨부파일은 필수입니다.');history.go(-1);</script>");
    			}
    			if(!(isset($_FILES['kboard_attach_upload_2']['size'])&&$_FILES['kboard_attach_upload_2']['size'])){
    				die("<script>alert('첨부파일은 필수입니다.');history.go(-1);</script>");
    			}
    			
    			$attach_extension1 = array('hwp');
    			$attach_extension2 = array('pdf');
    			foreach($_FILES as $key=>$file){
    				if(isset($file['name']) && $file['name']){
    					$file_extension = explode('.', $file['name']);
    					$file_extension = end($file_extension);
    					if($key == 'kboard_attach_upload_1' && !in_array($file_extension, $attach_extension1)){
    						echo '<script>alert("심사용 상세설명은 HWP 파일만 등록할 수 있습니다. 재업로드하세요.");window.history.go(-1);</script>';
    						exit;
    					}
    					if($key == 'kboard_attach_upload_2' && !in_array($file_extension, $attach_extension2)){
    						echo '<script>alert("날인된 응모신청서는 PDF 파일만 등록할 수 있습니다. 재업로드하세요.");window.history.go(-1);</script>';
    						exit;
    					}
    				}
    			}
    		}
    	}
    }

     

    추가하신 워드프레스 내장 에디터 쪽 말고 본문 쪽에 숏코드를 추가하면 어떻게 표시되는지요?

    KBoard 플러그인에서 게시판 본문의 입력 필드는

    kboard_document_add_option_value_field_html 필터로 수정하실 수 있습니다.

    FTP로 접속해서 /wp-content/plugins/kboard/class/KBoardFields.class.php 파일에서 확인해보실 수 있습니다.

    고맙습니다.

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