최신 버전, 입력필드 추가로 파일 업로드 구현했는데, 첨부파일이 보이지 않습니다.

안녕하세요. 케이보드 최신 버전을 설치하고 보니, 입력필드 설정 부분이 추가되어 매우 편리합니다.

 

그런데 입력필드 추가하던 중, 파일 업로드 부분을 추가하였습니다.

이미지 파일 첨부해보니 FTP 상에서 wp-upload 하위 디렉토리에는 업로드 되는 것으로 확인했지만,

정작 글 상세화면(document.php)에는 레이블만 표시되고, 오른쪽에 이미지나 이미지 명, 이미지 다운로드용 버튼이나 링크가 보이지 않습니다.

어떻게 해야 첨부한 이미지를 보거나 클릭하여 다운로드 받을 수 있을까요?

입력필드 설정 부분에는 아래와 같이 스킨출력예제가 있습니다만, document.php 에 넣어보니, 원래 파일명만 표시되고 링크는 없습니다.

<?php echo $content->attach->{'business_license'}[1]?>

업로드 되면서 파일명도 변경되는 것 같던데, 이미지 보여주거나 다운로드를 하는 방법 알려주세요.

감사합니다.

 

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
  • 안녕하세요~^^

    KBaord(케이보드) 플러그인에서 파일 입력 필드를 새로 추가하셨다면

    별도의 코드를 추가하지 않으셔도 게시글 본문 페이지에서 다운로드할 수 있습니다.

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

    해당 파일 필드의 설정에 게시글 본문에 표시를 체크하신 후 저장해보시겠어요?

    고맙습니다.

  • 게시글 본문에 표시 체크한 후에 저장까지 해본 후, 보이지 않아서 드린 질문이었습니다.

    크롬 개발자 모드에서 소스를 봐도, 아래 첨부 이미지와 같이 해당 첨부파일 다운로드와 관련된 소스코드가 보이지 않습니다.

    최신 버전의 최신 스킨 default 스킨을 사용하였으며, editor_fields.php 는 수정하지 않고 사용 중입니다.

    우선 임시로, KBoard 기본 필드의 첨부파일 필드를 1개 추가하여 사용 중입니다.

    검토하여 주시면 감사하겠습니다.

  • 안녕하세요.

    현재 아래 링크의 코드가 적용되어 있으신지요?

    https://www.cosmosfarm.com/threads/document/26721

     

    기존의 코드 대신 아래의 코드로 교체해보시겠어요?

    add_filter('kboard_document_add_option_value_field_html', 'my_kboard_document_add_option_value_field_html', 10, 4);
    function my_kboard_document_add_option_value_field_html($html, $field, $content, $board){
    	if($board->id == '1'){
    		if($field['field_type'] == 'file'){
    			$option_value = $content->attach->{$field['meta_key']};
    		}
    		else{
    			$option_value = $content->option->{$field['meta_key']};
    		}
    		
    		$field_name = (isset($field['field_name'])&&$field['field_name'])?$field['field_name']:$field['field_lable'];
    		
    		if(is_array($content->option->{$field['meta_key']}) && $field['field_type'] != 'file'){
    			$option_value = implode(', ', $option_value);
    		}
    		
    		if($field['field_type'] != 'file'){
    			ob_start();
    			?>
    			<div class="kboard-document-add-option-value meta-key-<?php echo $field['meta_key']?>">
    				<span class="option-name"><?php echo $field_name?></span> <?php echo $option_value?>
    			</div>
    			<?php
    			$html = ob_get_clean();
    		}
    		else{
    			$url = new KBUrl();
    			ob_start();
    			?>
    			<div class="kboard-document-add-option-value meta-key-<?php echo $field['meta_key']?>">
    				<span class="option-name"><?php echo $field_name?></span> <button type='button' class='kboard-button-action kboard-button-download' onclick="window.location.href='<?php echo $url->getDownloadURLWithAttach($content->uid, $field['meta_key'])?>'" title=''><?php echo $option_value[1]?></button>
    			</div>
    			<?php
    			$html = ob_get_clean();
    		}
    	}
    	return $html;
    }

    고맙습니다.

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