2014-07-19 3 views
2

저는 archive-event.php라는 '이벤트'커스텀 포스트에 대한 아카이브 페이지를 만들었습니다. 표준 archive.php 템플리트의 컨텐츠를 사용했고 게시 된 순서대로 내 4 개의 이벤트를 나열했습니다.Wordpress 커스텀 포스트 타입 아카이브 페이지 wp_query 페이지 매김이 작동하지 않습니다.

다음 단계는 사용자 정의 필드 event_date에 의해 순서를 변경하는 것입니다. 나는 아무런 문제도 없었다. 그런 다음 event_date가 통과 한 이벤트를 표시하지 않으려했습니다. 아래 코드는 이것을 완벽하게 수행합니다.

내 문제는 내 페이지 매김이 엉망입니다. 페이지 당 2 개의 게시물로 설정된 기본 읽기 설정이 있고 다음 2 개를 표시하는 '추가로드'버튼이 있습니다.

'추가로드'를 클릭하면 이미 표시된 두 이벤트가 복제됩니다. 내가 잘못한 어떤 생각?

<?php 
$today = date("Ymd"); 
$args = array (
    'post_type'  => 'event', 
    'meta_key'  => 'event_date', 
    'orderby'  => 'meta_value', 
    'order'   => 'ASC', 
    'meta_query'  => array(
          array(
           'key' => 'event_date', 
           'value' => $today, 
           'type' => 'numeric', 
           'compare' => '>=', 
           ) 
          ), 
         ); 
$wp_query = new WP_Query($args); 

while($wp_query->have_posts()) 
{ 
$wp_query->the_post(); 
?> 

     <div>Content goes here</div> 


<?php } wp_reset_postdata(); ?> 
+0

로드 버튼이 아약스 전화를하거나 next_posts_link(), posts_nav_link() 또는 다른 방법을 사용하고 있습니까? –

+0

아약스 전화입니다. 플러그인을 사용 중지하고 기본/다음 페이지 매김으로 돌아가서 여전히 동일한 문제가 발생하므로 플러그인과 관련이 없습니다. 이전 게시물을 클릭했을 때도 현재 2 개를 반복했습니다 ... –

답변

3

플러그인은 UI가 또는 워드 프레스에 내장 된 pagination 기능을 존중하지 않을 수 있습니다를 구축하는 방법에 따라.

과 같이 쿼리에 paged 설정을 강제로 시도해보십시오이 여전히 작동하지 않는 경우

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 
$args = array (
    'post_type'  => 'event', 
    'paged'   => $paged, // this will be set to what WordPress thinks is the proper page to start 
    'meta_key'  => 'event_date', 
    'orderby'  => 'meta_value', 
    'order'   => 'ASC', 
    'meta_query'  => array(
          array(
           'key' => 'event_date', 
           'value' => $today, 
           'type' => 'numeric', 
           'compare' => '>=', 
           ) 
          ), 
         ); 

다음, 당신은 paged 매개 변수를 변경하여 어떤 이유로 작동하지 않는 가정을 테스트 할 수 있습니다 그래서 (다시, 단지 테스트하는)과 같은 기본 paged 값 :

$paged = 2; // just force it to start on the second page to see if that works 

상기 시험 작동하는지, 나는 get_query_var() 당신이 첫 페이지에있어 믿는 것을 말할 것입니다.

+0

내 사랑을 선언하기에는 너무 이른가요? 첫 번째 제안이 효과가있었습니다. 나는 wp_query를 사용하여 다른 기본값을 무시했지만 그것이 무엇인지 전혀 몰랐다는 것을 알고있었습니다. 고맙습니다. –

+0

@ user2272355 하, 조금 일찍, 그렇지 않을 수도 있습니다. 프로젝트를 즐기십시오! –

+0

어떤 이유인지, 커스텀 페이지에서는'get_query_var ('paged')하지만 프론트 페이지에서 사용한다면'get_query_var ('page')' – timhc22

관련 문제