wp_query 에서 index 설정

안녕하세요. wp_query를 이용해서 페이지를 하나 만들고 있습니다.

문제에 부딪혀 조언을 받을 수 있을까 해서 글을 남겨봅니다.

 

현재, custom-post-type : book 을 만들었고 이 book posts에는 meta-key로 'book_date'가 있으며, 이 값은 '2000-01-12'의 형태인 string 값입니다.

일단

$args = array(
                'post_type' => 'book',
                'posts_per_page' => 3,                
                'meta_query' => array(
                    array(
                        'key'     => 'book_date',
            			'value'   => '2018-01-01',
            			'compare' => '>=',
                    ),
                ),
                'orderby' => array(
                    'race_date' => 'ASC',
                ),
            );
        	$query = new WP_Query($args);

        		while($query->have_posts() ) : $query->the_post();
                    $race_data = get_post_meta( get_the_ID(), 'race_date', true );
                    $post->num = 0; ?>                        
                            <h4>title : <?php the_title(); ?> </h4>
                            <p>index : <?php echo($query->current_post); ?> </p>

                <?php endwhile; wp_reset_query(); ?>

<button class="load_more">더보기 </button>

 위와 같은 형태의 wp_query 가 들어갑니다. (첫 페이지)

여기에서, '더보기' 버튼을 클릭하면, ajax로 다음페이지의  book posts( 같은 커스텀포스트타입의 글들) 들이 불려저 나옵니다.

ajax로 아래의 wp_query의 내용이 붙여집니다.

$args = array(
                'post_type' => 'book',
                'posts_per_page' => 3,  
                'paged' => 2,              
                'meta_query' => array(
                    array(
                        'key'     => 'book_date',
            			'value'   => '2018-01-01',
            			'compare' => '>=',
                    ),
                ),
                'orderby' => array(
                    'race_date' => 'ASC',
                ),
            );
        	$query = new WP_Query($args);

        		while($query->have_posts() ) : $query->the_post();
                    $race_data = get_post_meta( get_the_ID(), 'race_date', true );
                    $post->num = 0; ?>                        
                            <h4>title : <?php the_title(); ?> </h4>
                            <p>index : <?php echo($query->current_post); ?> </p>

                <?php endwhile; wp_reset_query(); ?>

 

paged = 2만 추가 되었습니다.  내용은 정상적으로 나옵니다. 하지만 여기서 문제는, 저 위에 있는 index 값입니다.

wp_query의 프로퍼티로 있는 current_post를 이용해 index값을 나타냈는데, 이 값은 첫 post 부터 0,1,2,3.. 이렇게 나갑니다.

하지만, ajax로 붙여진 2페이지, 도 index값이 처음부터 0,1,2,3... 이렇게 나가더라구요. 이 index 값으로 간단한 코딩을 해야할 것 같은데,

ajax로 덧붙여진 페이지의 book-posts들도 첫페이지의 book-posts에 이어 index값을 이어 나가게 할 수는 없을까요?

아니면, ajax로 이어지는 book-post의 이전 book-post의 값을 끌어오는 방법이 있을까요?

 

감사합니다.

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

AI 상담