2017-02-23 1 views
2

페이지별로 3 개의 기사를 표시하고 페이지 매김을 통해이 페이지를 탐색하는 기본 홈페이지를 설정했습니다. 현재 페이지2에 페이지 번호 매기기 만 표시되며, 12 페이지의 기사가 4 페이지로 표시됩니다. 내가 잘못 여기거야 어디 아주 확실하지 않다 :Wordpress 페이지 매김 페이지 2 개만 표시

<?php 
    $paged = (get_query_var('paged'))? get_query_var('paged') : '1'; 

    $args = array(
     'post_type'   => 'post', 
     'post_status'  => 'publish', 
     'paged'    => $paged, 
     'posts_per_page' => 2 
    ); 
    $the_query = new WP_Query($args); 
    while ($the_query -> have_posts()) : $the_query -> the_post(); 

     include(locate_template('content-post.php')); 

    endwhile; 
?> 

<?php the_posts_pagination(array('mid_size' => 3)); ?> 

Dummy posts

답변

1

the_posts_pagination 사용 기본 WP 쿼리와

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;

를 교체해야합니다. 아래 코드를 시도해주십시오 :

<?php 
    if (get_query_var('paged')) { $paged = get_query_var('paged'); } else if (get_query_var('page')) {$paged = get_query_var('page'); } else {$paged = 1; } 

    $args = array(
     'post_type'   => 'post', 
     'post_status'  => 'publish', 
     'paged'    => $paged, 
     'posts_per_page' => 2 
    ); 
    $temp = $wp_query; 
    $wp_query= null; 
    $wp_query = new WP_Query($args); 
    while ($wp_query -> have_posts()) : $wp_query -> the_post(); 
     include(locate_template('content-post.php')); 
    endwhile; 


    the_posts_pagination(array('mid_size' => 3)); 

    $wp_query = null; 
    $wp_query = $temp; 
    wp_reset_query(); 
?> 

코드는 완전하게 테스트되었습니다.

+0

이렇게하면 페이지 매김 링크가 적절하게 작동하지만, 2 이상의 페이지는 곧바로 404 페이지로 넘어갑니다. '/ page/2 /'는 잘 작동하지만'/ pages/3 /'는 404를 산출합니다. – Jam3sn

+0

업데이트 된 답변 확인 –

+0

고맙지 만 여전히 페이지 1 ~ 2에서 페이지 매김이 작동합니다 404. – Jam3sn

0

사용이 플러그인 Click here

및 페이지 매김 <?php wp_pagenavi(); ?>

이 단축 코드를 사용하고 난 정확한 다음을 사용 내 프로젝트와 그 작업을위한 루프.

<?php 
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 
$args= array(
'cat' => '', 
'orderby'=> 'date', 
'order'=> 'DESC', 
'paged' => $paged , 
'posts_per_page' => 3 
); 
query_posts($args); 
if (have_posts()) : 
    while (have_posts()): 
    the_post(); 
    endwhile; 
endif; 
?> 

시도해보십시오. 그것이 당신을 위해 또한 일하기를 바랍니다. 당신이 홈 페이지에 게시물을 표시하는 경우가 여기에 작동하지 않도록

는, 당신은

<?php 

if (get_query_var('paged')) 
    { 
     $paged = get_query_var('paged'); 
    } 
else if (get_query_var('page')) 
    { 
     $paged = get_query_var('page'); 
    } 
    else 
    { 
     $paged = 1; 
    } 
+0

멋진데 페이지 목록에 2 페이지 밖에 보이지 않습니다. – Jam3sn