안녕하세요. 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 파일에서 확인해보실 수 있습니다.
고맙습니다.