최근 본 게시물 노출되는 갯수 지정하고 싶은데 어떻게 하면 좋을까요?

커뮤니티에 답변주신 내용을 참고해서 아래와 같이 functions.php 에 작성했고 출력은 정상적으로 되는데

최신글 처럼 갯수 제한을 거는 법은 없을까요? 

 

 

//kboard 제품정보 최근 본 게시판

add_shortcode('kboard_latest_content_view', 'my_kboard_latest_content_view');
function my_kboard_latest_content_view($args=array()){
    global $wpdb;
    $board_id = (isset($args['id'])&&$args['id']) ? $args['id'] : '';
    
    if(isset($_SESSION['increased_document_uid'])&&$_SESSION['increased_document_uid']){
        $document_uid_list = $_SESSION['increased_document_uid'];
        
        $url = new KBUrl();
        
        $router = new KBRouter();
        $router->process();
        
        $board_url = $router->getBoardURL($board_id);
        
        ob_start();
        foreach($document_uid_list as $document_uid){
            $content = new KBContent();
            $content->initWithUID($document_uid);
            
            if($board_id == $content->board_id){
                ?>
                <div class="kboard-recently">
                    <a href="<?php echo $url->set('uid', $content->uid)->set('mod', 'document')->toStringWithPath($board_url)?>#kboard-document">
                        <img src="<?php echo $content->getThumbnail()?>" width="80px" height="80px">
                    </a>
                </div>
                <?php
            }
        }
    }
    else{
        ob_start();
        ?>
        <div>최근 본 게시글이 없습니다.</div>
        <?php
    }
    
    return ob_get_clean();
}

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

    본문에 코드를 올려주실 땐 반드시 에디터의 코드 스니펫 삽입 기능을 이용해주세요.

    그렇지 않으면, 이상한 코드로 바뀌거나 질의응답 시 의사소통에 문제가 있을 수도 있습니다.

    올려주신 숏코드에서 표시되는 게시글의 수를 입력하게 하시려면

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

    //kboard 제품정보 최근 본 게시판
    add_shortcode('kboard_latest_content_view', 'my_kboard_latest_content_view');
    function my_kboard_latest_content_view($args=array()){
    	global $wpdb;
    	
    	$board_id = (isset($args['id'])&&$args['id']) ? $args['id'] : '';
    	$rpp = (isset($args['rpp'])&&$args['rpp']) ? $args['rpp'] : '';
    	
    	if(isset($_SESSION['increased_document_uid'])&&$_SESSION['increased_document_uid']){
    		$document_uid_list = $_SESSION['increased_document_uid'];
    		if($rpp){
    			$document_uid_list = array_slice($document_uid_list, 0, $rpp);
    		}
    		
    		$url = new KBUrl();
    		
    		$router = new KBRouter();
    		$router->process();
    		
    		$board_url = $router->getBoardURL($board_id);
    		
    		ob_start();
    		foreach($document_uid_list as $document_uid){
    			$content = new KBContent();
    			$content->initWithUID($document_uid);
    			
    			if($board_id == $content->board_id){
    				?>
                    <div class="kboard-recently">
                        <a href="<?php echo $url->set('uid', $content->uid)->set('mod', 'document')->toStringWithPath($board_url)?>#kboard-document">
                            <img src="<?php echo $content->getThumbnail()?>" width="80px" height="80px">
                        </a>
                    </div>
                    <?php
                }
            }
        }
        else{
            ob_start();
            ?>
            <div>최근 본 게시글이 없습니다.</div>
            <?php
        }
        
        return ob_get_clean();
    }

    실제 숏코드는 아래처럼 적용해보세요.

    [kboard_latest_content_view id=1 rpp=5]

    위의 코드에서 rpp 부분의 숫자가 표시될 게시글의 수입니다.

     

    최근 본 게시글을 먼저 표시되게 하시려면

    위의 코드 중 아래의 코드를 찾아서

    $document_uid_list = array_slice($document_uid_list, 0, $rpp);

    찾은 코드 위에 아래의 코드를 추가해보세요.

    $document_uid_list = array_reverse($document_uid_list);

    고맙습니다.

  • 깔끔하게 해결되었습니다! 감사합니다^^!

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