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의 값을 끌어오는 방법이 있을까요?

 

감사합니다.

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