섬네일을 인덱스 화면에 숏코드로 보이기

항상 수고가 많으십니다.

avatar스킨을 사용하고 있습니다.

주보게시판의 주보이미지 중에 첫번째와 두번째 이미지만 섬네엘로 처음 화면에 보여주려고 하는데요

방법이 없을까요? 

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

    아바타 스킨의 latest.php 파일을 편집하거나

    아래 링크에 안내해드린 my_kboard_latest_content 숏코드를 활용하면 가능할 듯합니다.

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

     

    위의 링크에서는 최신글 하나만 가져오는 코드이기 때문에

    $wpdb를 사용해서 2개씩 가져오도록 설정하고 가져온 데이터를 표시해주면 될 듯합니다.

     

    프로그래밍에 대한 지식이 어느 정도 있어야 가능할 듯합니다.

    고맙습니다.

  • https://imgur.com/a/3UvYLcG

    제목을 날짜로 했더니 위와 같이 나왔습니다.

    글자 색깔과 크기만 수정하면 될 것 같습니다.

  • https://imgur.com/a/3UvYLcG

    제목을 날짜로 했더니 위와 같이 나왔습니다.

    글자 색깔과 크기만 수정하면 될 것 같습니다.

  • 아래의 코드는 제목을 표시하는 코드입니다.

    <?php echo $content->title?>

    날짜가 표시되는 건 게시글 제목에 날짜가 입력된 건 아닌지요?

     

    제목 대신 날짜로 표시하시려면 KBoard 플러그인의 getDate 함수를 활용해보시겠어요?

    아래의 코드로 적용해서 확인해보세요.

    <?php echo $content->getDate()?>

    안내해드린 숏코드 쪽에도 날짜를 표시하는 코드는

    $content->date가 아닌 getDate 함수를 활용해서 표시하고 있습니다.

    고맙습니다.

  • https://imgur.com/a/NmCUseq

    해 보니 제목과 날짜가 다 나와서 날짜만 넣으려고 

    title? 을  date? 로 바꿨더니 그림과 같이 나왔습니다. 

    타이틀만 넣을 때와 날짜만 넣을 때 어떻게 하는지 알고 싶습니다.

    그리고 크기는 어떻게 바꿀수 있는지요?

  • 썸네일 아래에 제목도 표시하시려면

    기존 아래의 코드를 찾아서

    <a href="<?php echo $url->getDocumentURLWithUID($content->uid)?>"><span class="my-kboard-latest-content-thumbnail"><img src="<?php echo $content->getThumbnail('200', '150')?>"></span></a>

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

    <div style="display: inline-block;">
    	<a href="<?php echo $url->getDocumentURLWithUID($content->uid)?>">
    		<div class="my-kboard-latest-content-thumbnail"><img src="<?php echo $content->getThumbnail('200', '150')?>"></div>
    		<div class="my-kboard-latest-content-title"><?php echo $content->title?></div>
    	</a>
    </div>

    고맙습니다.

  • 썸네일 이미지 바로 밑에 가운데 붙이려고 합니다. 물론 제목과 그림 사이에 간격이 약간 있어야 겠지요

  • 표시하시려는 위치에 따라 코드가 달라질 수도 있습니다.

    어느 위치에 제목을 표시하고 싶으신지 알려주시면

    도움 드릴 방법을 찾아보겠습니다.

    고맙습니다.

  • 정말 감사합니다. 지금 크기 알아보고 있었거든요.. 그리고 한 가지만 더 여쭤볼게요. 썸네일에 제목을 붙일 수가 있을까요?

  • 추가로 설명을 드리자면,

    안내해드린 코드 중 $content->getThumbnail('200', '150') 부분은 썸네일 가로 세로 픽셀 크기입니다.

    가로 200px 세로 150px로 설정되어 있으며

    다른 사이즈로 적용하시려면 숫자를 조절해보시겠어요?

    고맙습니다.

  • 우와.............   됩니다.^^  정말 최고이십니다.^^

  • 워드프레스 필터는 중복해서 여러 개 추가할 수 있지만

    PHP 함수명은 중복되면 안 됩니다.

     

    기존 코드 밑에 추가하시려면

    이전 댓글에 안내해드린 코드 중 아래의 코드를

    add_shortcode('my_kboard_latest_content', 'my_kboard_latest_content');
    function my_kboard_latest_content($atts=array()){

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

    add_shortcode('my_kboard_latest_content1', 'my_kboard_latest_content1');
    function my_kboard_latest_content1($atts=array()){

     

    숏코드도 아래의 형식처럼 삽입해보세요.

    [my_kboard_latest_content1 id=1 document=thumbnail rpp=2]

    고맙습니다.

  • 항상 정성껏 답변해 주셔서 너무 감사드립니다. 

    알려주신 코드를 기존 코드 밑에 복사해도 되나요?

    서로 다른 게시판이고 기존 게시판은 그대로 쓰려고요

  • 커뮤니티에서 모든 코드를 만들어 드리는 것은 현실적으로 불가능합니다.

    다만, 저희는 홈페이지 주소를 알려주시면 수정 시 막히시는 부분을 간단하게 도움을 드릴 수 있습니다. (HTML, CSS 코드 등)

    직접 코드를 수정하시는 게 어려우시다면

    저희 고객지원 쪽으로 유료 기술지원 요청 부탁드립니다.

     

    이전에 안내해드린 코드를 활용해서 예제 코드를 작성해봤습니다.

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

    add_shortcode('my_kboard_latest_content', 'my_kboard_latest_content');
    function my_kboard_latest_content($atts=array()){
    	global $wpdb;
    	
    	$html = '';
    	$board_id = isset($atts['id'])&&$atts['id'] ? $atts['id'] : '';
    	$document = isset($atts['document'])&&$atts['document'] ? $atts['document'] : '';
    	$rpp = isset($atts['rpp'])&&$atts['rpp'] ? $atts['rpp'] : '1';
    	
    	if($board_id){
    		$results = $wpdb->get_results("SELECT `{$wpdb->prefix}kboard_board_content`.`uid` FROM `wp_kboard_board_content` WHERE `board_id`='{$board_id}' AND `parent_uid`='0' AND (`status`='' OR `status` IS NULL OR `status`='pending_approval') ORDER BY `date` DESC LIMIT {$rpp}");
    		
    		$url = new KBUrl();
    		$url->is_latest = true;
    		
    		foreach($results as $item){
    			$content = new KBContent();
    			$content->initWithUID($item->uid);
    			
    			if($document == 'title'){
    				ob_start();
    				?>
    				<a href="<?php echo $url->getDocumentURLWithUID($content->uid)?>"><span class="my-kboard-latest-content-title"><?php echo $content->title?></span></a>
    				<?php
    				$html .= ob_get_clean();
    			}
    			else if($document == 'author'){
    				ob_start();
    				?>
    				<a href="<?php echo $url->getDocumentURLWithUID($content->uid)?>"><span class="my-kboard-latest-content-author"><?php echo $content->member_display?></span></a>
    				<?php
    				$html .= ob_get_clean();
    			}
    			else if($document == 'date'){
    				ob_start();
    				?>
    				<a href="<?php echo $url->getDocumentURLWithUID($content->uid)?>"><span class="my-kboard-latest-content-date"><?php echo $content->getDate()?></span></a>
    				<?php
    				$html .= ob_get_clean();
    			}
    			else if($document == 'thumbnail'){
    				ob_start();
    				?>
    				<a href="<?php echo $url->getDocumentURLWithUID($content->uid)?>"><span class="my-kboard-latest-content-thumbnail"><img src="<?php echo $content->getThumbnail('200', '150')?>"></span></a>
    				<?php
    				$html .= ob_get_clean();
    			}
    		}
    	}
    	return $html;
    }

    기존의 숏코드 사용법과 같습니다.

     

    가장 최신에 작성한 게시글 2개의 썸네일을 표시하시려면

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

    [my_kboard_latest_content id=1 document=thumbnail rpp=2]

    위의 코드에서 id 부분은 실제 id로 적용해주세요.

    rpp 부분은 표시할 게시글의 수 입니다.

    고맙습니다.

  • 죄송하지만 제가 php를 지금 책으로 배우고 있는 상황이라

    가르쳐 주신 대로 해보려고 노력을 했으나 영어도 잘 목하고 책도 제대로 아직 활용을 못하고 있습니다.

    좀 더 구체적으로 적어주시면 정말 고맙겠습니다. 초보라 설움이 많습니다. T.T

  • https://imgur.com/a/dVn4RM2

    해결했습니다.^^ 정말 감사합니다.^^

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