썸네일 문의드립니다

안녕하세요! 새해 복 많이 받으시기 바랍니다.

 

제 홈페이지 특성상 썸네일을 중복되게 사용하는데 (특정 썸네일만 바꿔가면서 사용합니다 대학교 로고)

계속 썸네일로 업로드하여 사용하게되면 리퀘스트만 늘어나는데 하나로 캐시 처럼? 이미 사용했던 썸네일로만 로딩 할수있을까요? url 같은걸로요 

늘 감사합니다 .

 

 

 

 

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

    KBoard 플러그인에서 게시글 작성 시 썸네일을 등록하지 않으면

    기존 다른 게시글에서 썸네일로 등록한 파일을 적용하면 될 듯합니다.

     

    1. /wp-content/plugins/kboard/class/KBContent.class.php 파일에

    아래의 코드를 찾아서

    public function __get($name){
    	if(isset($this->row->{$name})){
    		if(in_array($name, array('title', 'content'))){
    			if(isset($this->row->status) && $this->row->status == 'pending_approval' && in_array(kboard_mod(), array('list', 'document'))){
    				if($this->isEditor()){
    					switch($name){
    						case 'title': return apply_filters('kboard_pending_approval_title', sprintf(__('[Pending] %s', 'kboard'), $this->row->title), $this); break;
    						case 'content': return apply_filters('kboard_pending_approval_content', sprintf(__('<p>&#91;Waiting for administrator Approval.&#93;</p>%s', 'kboard'), $this->row->content), $this); break;
    					}
    				}
    				else{
    					switch($name){
    						case 'title': return apply_filters('kboard_pending_approval_title', __('&#91;Pending&#93; Waiting for administrator Approval.', 'kboard'), $this); break;
    						case 'content': return apply_filters('kboard_pending_approval_content', __('&#91;Waiting for administrator Approval.&#93;', 'kboard'), $this); break;
    					}
    				}
    			}
    		}
    		return $this->row->{$name};
    	}
    	return '';
    }

    아래의 코드로 교체해보시겠어요?

    public function __get($name){
    	$value = '';
    	if(isset($this->row->{$name})){
    		if(in_array($name, array('title', 'content'))){
    			if(isset($this->row->status) && $this->row->status == 'pending_approval' && in_array(kboard_mod(), array('list', 'document'))){
    				if($this->isEditor()){
    					switch($name){
    						case 'title': return apply_filters('kboard_pending_approval_title', sprintf(__('&#91;Pending&#93; %s', 'kboard'), $this->row->title), $this); break;
    						case 'content': return apply_filters('kboard_pending_approval_content', sprintf(__('<p>&#91;Waiting for administrator Approval.&#93;</p>%s', 'kboard'), $this->row->content), $this); break;
    					}
    				}
    				else{
    					switch($name){
    						case 'title': return apply_filters('kboard_pending_approval_title', __('&#91;Pending&#93; Waiting for administrator Approval.', 'kboard'), $this); break;
    						case 'content': return apply_filters('kboard_pending_approval_content', __('&#91;Waiting for administrator Approval.&#93;', 'kboard'), $this); break;
    					}
    				}
    			}
    		}
    		$value = $this->row->{$name};
    	}
    	return apply_filters('kboard_content_value', $value, $name, $this);
    }

     

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

    아래의 코드를 추가해보시겠어요?

    add_filter('kboard_content_value', 'my_kboard_content_value', 10, 3);
    function my_kboard_content_value($value, $name, $content){
    	if($name == 'thumbnail_file'){
    		if(!$value){
    			$value = '썸네일파일경로';
    		}
    	}
    	
    	return $value;
    }

    위의 코드에서 썸네일파일경로 부분에는 실제 썸네일 파일 경로로 적용해보시겠어요?

     

    KBoard에서 썸네일은 /wp-content/uploads/kboard_thumbnails 경로를 확인해보시면 됩니다.

    예를 들어서, 1번 게시판에서 2019년 2월에 등록한 썸네일 파일로 지정하시려면

    썸네일파일경로 부분에 /wp-content/uploads/kboard_thumbnails/1/201902/파일명 이런 식으로 적용해보세요.

     

    위의 코드를 적용하시면 게시글 작성 시 썸네일을 등록하면 등록한 썸네일을 표시하며

    썸네일을 등록하지 않는다면 지정한 썸네일 파일을 표시합니다.

    고맙습니다.

  • 안녕하세요 답변 감사합니다.

    제가 질문을 헷갈리게 드린거 같습니다 ㅠㅠ

    몇가지 썸네일을 사용하는게 ( 저희는 학원이라 대학합격시 후기 작성용으로 쓰려고함) 인서울 대부분 학교의 로고를 사용해야합니다
    근데 이게 매년 쌓이고 많은 학생들이 같은 학교에 진학하는 경우가 많으니 매번 썸네일로 올리지 않고 기존에 사용한 이미지를 재사용하고 싶습니다

    가능할까요?
  • 안녕하세요.

    이전 댓글에 안내해드린 코드를 적절히 활용하시면

    매번 썸네일을 올리지 않고 기존에 사용한 이미지를 재사용할 수 있습니다.

     

    현재 게시판을 어떻게 사용 중인지는 저희가 알 수는 없지만

    제목에서 대학교 이름을 찾아 기존 등록한 썸네일을 활용하시려면

    테마 쪽 functions.php 파일에 아래의 코드를 활용해보시겠어요?

    add_filter('kboard_content_value', 'my_kboard_content_value', 10, 3);
    function my_kboard_content_value($value, $name, $content){
    	if($name == 'thumbnail_file' && !$value){
    		if(stripos($content->title, '서울대학교') !== false){
    			$value = '서울대학교 로고 경로';
    		}
    		else if(stripos($content->title, '고려대학교') !== false){
    			$value = '고려대학교 로고 경로';
    		}
    		else if(stripos($content->title, '연세대학교') !== false){
    			$value = '연세대학교 로고 경로';
    		}
    		
    		if(!file_exists(KBOARD_WORDPRESS_ROOT . $value)){
    			$value = '';
    		}
    	}
    	
    	return $value;
    }

    위의 코드를 적용하면 게시글 제목에 서울대학교가 포함되어 있고

    썸네일이 등록되어 있지 않다면 설정한 서울대학교 로고 경로의 이미지를 표시합니다.

    각 경로는 적절히 수정해보시겠어요?

    고맙습니다.

  • 감사합니다! 잘되네요! 그냥 간편하게 워드프레스 미디어를 사용하는 방법은 어려울까요?

  • 안녕하세요.

    이미지 경로를 워드프레스 미디어 쪽 경로로 적용해주시면 될 듯합니다.

    워드프레스 미디어 쪽 파일은 FTP로 접속해서 /wp-content/uploads 폴더를 확인해보시겠어요?

    고맙습니다.

  • <div class="kboard-attr-row">
    	<label class="attr-name" for="kboard-input-thumbnail"><?php echo __('Thumbnail', 'kboard')?></label>
    	<div class="attr-value">
    	    <?php if($content->thumbnail_file):?><?php echo $content->thumbnail_name?> - <a href="<?php echo $url->getDeleteURLWithAttach($content->uid);?>" onclick="return confirm('<?php echo __('Are you sure you want to delete?', 'kboard')?>');"><?php echo __('Delete file', 'kboard')?></a><?php endif?>
    		<input type="file" id="kboard-input-thumbnail" name="thumbnail">
    	</div>
    </div>

    이부분을 수정하면 되는거같은데 어떻게 바꾸면될까요? ㅠㅠ

  • 워드프레스 미디어 추가 기능으로 직접 이미지를 선택하시려는 지요?

    워드프레스 미디어에 등록된 이미지는 썸네일로 표시되지 않기 때문에

    이전 댓글에 안내해드린 kboard_content_value 필터를 활용해주셔야 할 듯합니다.

     

    또한 워드프레스 미디어 추가 버튼은 글쓴이 역할부터 사용할 수 있습니다.

    워드프레스에서 글(블로그 포스트) 쓰기가 가능해야 워드프레스 미디어 추가 기능도 사용할 수 있습니다.

    누구나 워드프레스 미디어 기능을 사용할 수 있다면,

    관리자가 업로드한 파일을 다른 사용자가 지울 수 있으니 각별한 주의가 요구됩니다.

     

    추가로 설명을 드리자면,

    KBoard 게시판 플러그인에서 썸네일을 표시할 때 getThumbnail 함수를 활용하고 있습니다.

    getThumbnail 함수의 썸네일 이미지 우선순위는 아래와 같습니다.

    1. 등록된 썸네일 이미지
    2. KBoard 미디어에 등록된 첫 번째 이미지
    3. 첨부파일 중 이미지 파일

    고맙습니다.

  • 아그러면 에디터 php 를 수정해서는 워드프레스 미디어에 올린 사진으로 썸네일 등록을 할수 없는걸까요?

    그러면 위에 알려주신 방법으로하려면 모든 대학 url 을 등록해야하나요 ㅠㅠ 

     

    에디터 php 수정으로 간편하게 워드프레스 미디어에서 따오지 못한다면 

    케이보드 미디어 첫번쨰 사진을 따오는것처럼 워드프레스 미디어로 본문에 올린 사진 중 첫번쨰를 가져오게도 불가능할까요?

  • 기본적으로 게시판 썸네일은 KBoard 쪽에 등록된 이미지만 표시가 가능합니다.

    게시글 본문 내용에 이미지 태그를 체크해서 이미지 주소만 추출해서 표시하거나

    KBoard 글 작성 페이지에 새로운 입력 필드를 추가해서

    워드프레스 미디어 추가로 등록된 이미지의 주소를 게시글에 저장해서 보여주는 등 여러 방법이 있겠지만

    수정하시는 데 어려움이 있을 듯합니다.

    저희 쪽에서 좀 더 연구해서 해당 기능을 개선해보겠습니다.

    고맙습니다.

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