2017-02-23 6 views
2

Я установил базовую страницу, чтобы показать 3 статьи на странице с разбивкой по страницам, чтобы перемещаться по этим страницам. На данный момент он будет показывать только разбивку на страницы для страниц 1 & 2 и не более, хотя у меня есть 12 статей, которые приводят к 4 страницам. Я не совсем уверен, куда я иду неправильно здесь:Wordpress Pagination Показывает только 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 использование по умолчанию, так что здесь не работает. Можете ли вы попробовать ниже код:

<?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

Спасибо, но это все равно то же самое, pagination работает для страниц 1-2, затем 3 и далее 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; 
?> 

Пожалуйста, попробуйте. Надеюсь, это сработает и для вас.

И если вы показываете свои сообщения на домашней странице, вам нужно заменить

$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; 
    } 
+0

Это замечательно, но он все еще показывает только 2 страницы в разбивке на страницы. – Jam3sn