게시글 수정 후 상세화면 네비게이터 순서

안녕하세요.

다름이 아니라 게시글을 수정 할이 있어, 날짜 수정을 통해서 수정을 했는데, 적용은 잘 되었으나
상세화면에 들어가면 상하단에 좌우로 이전, 다음 게시글로 이동할 수 있는 네비게이터에서는
적용이 안되는 것 같습니다. 이전 등록 값을 그대로 가져오는 것 아닌가 합니다. 

혹시 네비게이터에서도 순서 변경 가능한 방법이 없는지요.

 

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

    KBoard 플러그인 게시글 본문 페이지에서

    이전 글, 다음 글은 게시글 uid 값을 기준으로 표시하고 있습니다.

    게시글 날짜를 기준으로 표시하시려면

    KBoard 플러그인 파일을 수정해주셔야 합니다.

     

    FTP로 접속해서 /wp-content/plugins/kboard/class/KBContent.class.php 파일에

    아래의 코드를 찾아서

    /**
     * 다음 게시물의 UID를 반환한다.
     */
    public function getNextUID(){
    	global $wpdb;
    	if($this->uid){
    		$category1 = kboard_category1();
    		$category2 = kboard_category2();
    		
    		$where[] = "`board_id`='{$this->board_id}'";
    		$where[] = "`uid`>'{$this->uid}'";
    		
    		// 휴지통에 없는 게시글만 불러온다.
    		$where[] = "(`status`='' OR `status` IS NULL OR `status`='pending_approval')";
    		
    		if($category1){
    			$category1 = esc_sql($category1);
    			$where[] = "`category1`='{$category1}'";
    		}
    		if($category2){
    			$category2 = esc_sql($category2);
    			$where[] = "`category2`='{$category2}'";
    		}
    		
    		$where = implode(' AND ', $where);
    		$uid = $wpdb->get_var("SELECT `uid` FROM `{$wpdb->prefix}kboard_board_content` WHERE {$where} ORDER BY `uid` ASC LIMIT 1");
    		$wpdb->flush();
    		
    		return intval($uid);
    	}
    	return 0;
    }
    
    /**
     * 이전 게시물의 UID를 반환한다.
     */
    public function getPrevUID(){
    	global $wpdb;
    	if($this->uid){
    		$category1 = kboard_category1();
    		$category2 = kboard_category2();
    		
    		$where[] = "`board_id`='{$this->board_id}'";
    		$where[] = "`uid`<'{$this->uid}'";
    		
    		// 휴지통에 없는 게시글만 불러온다.
    		$where[] = "(`status`='' OR `status` IS NULL OR `status`='pending_approval')";
    		
    		if($category1){
    			$category1 = esc_sql($category1);
    			$where[] = "`category1`='{$category1}'";
    		}
    		if($category2){
    			$category2 = esc_sql($category2);
    			$where[] = "`category2`='{$category2}'";
    		}
    		
    		$where = implode(' AND ', $where);
    		$uid = $wpdb->get_var("SELECT `uid` FROM `{$wpdb->prefix}kboard_board_content` WHERE {$where} ORDER BY `uid` DESC LIMIT 1");
    		$wpdb->flush();
    		
    		return intval($uid);
    	}
    	return 0;
    }

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

    /**
     * 다음 게시물의 UID를 반환한다.
     */
    public function getNextUID(){
    	global $wpdb;
    	if($this->uid){
    		$category1 = kboard_category1();
    		$category2 = kboard_category2();
    		
    		$where[] = "`board_id`='{$this->board_id}'";
    		$where[] = "`date`>'{$this->date}'";
    		
    		// 휴지통에 없는 게시글만 불러온다.
    		$where[] = "(`status`='' OR `status` IS NULL OR `status`='pending_approval')";
    		
    		if($category1){
    			$category1 = esc_sql($category1);
    			$where[] = "`category1`='{$category1}'";
    		}
    		if($category2){
    			$category2 = esc_sql($category2);
    			$where[] = "`category2`='{$category2}'";
    		}
    		
    		$where = implode(' AND ', $where);
    		$uid = $wpdb->get_var("SELECT `uid` FROM `{$wpdb->prefix}kboard_board_content` WHERE {$where} ORDER BY `date` ASC LIMIT 1");
    		$wpdb->flush();
    		
    		return intval($uid);
    	}
    	return 0;
    }
    
    /**
     * 이전 게시물의 UID를 반환한다.
     */
    public function getPrevUID(){
    	global $wpdb;
    	if($this->uid){
    		$category1 = kboard_category1();
    		$category2 = kboard_category2();
    		
    		$where[] = "`board_id`='{$this->board_id}'";
    		$where[] = "`date`<'{$this->date}'";
    		
    		// 휴지통에 없는 게시글만 불러온다.
    		$where[] = "(`status`='' OR `status` IS NULL OR `status`='pending_approval')";
    		
    		if($category1){
    			$category1 = esc_sql($category1);
    			$where[] = "`category1`='{$category1}'";
    		}
    		if($category2){
    			$category2 = esc_sql($category2);
    			$where[] = "`category2`='{$category2}'";
    		}
    		
    		$where = implode(' AND ', $where);
    		$uid = $wpdb->get_var("SELECT `uid` FROM `{$wpdb->prefix}kboard_board_content` WHERE {$where} ORDER BY `date` DESC LIMIT 1");
    		$wpdb->flush();
    		
    		return intval($uid);
    	}
    	return 0;
    }

    고맙습니다.

  • 늦게 답변을 보고, 감사 인사 남깁니다.

    항상 신속하고 정확한 답변 감사합니다.
    답변대로 적용해보겠습니다.


     

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