Разбиение на страницы для сообщений в блоге, перезагружая ту же [закрытую] страницу

Признаки

Посещение/blog/загружает первые 10 сообщений, как ожидалось.

Посещение/blog/page/2/(и вперед) загружает новый URL, но теми же 10 сообщениями. Ничто не изменяется, но URL.

Детали установки

Пользовательская структура постоянной ссылки: /blog/%year%/%monthnum%/%day%/%postname%/

Статическая страница сообщений: "Блог" (краткий заголовок 'блога')

Я использую home.php к показывает сообщения со следующей разметкой:

<?php
/**
 * The archive for blog posts 
*/

get_header(); ?>

    <div id="main-content">
        <div class="container">

            <section id="content" class="blog"> 

                <?php while ( have_posts() ) : the_post(); ?>

                    <?php get_template_part( 'content', 'blog-index' ); ?>

                <?php endwhile; ?>

            </section>

            <?php get_sidebar( 'blog' ); ?>

            <div class="pagination">
                <?php wp_pagenavi(); ?>
            </div>

        </div>
    </div>

<?php get_footer(); ?>

Я проверил на сменные конфликты, и я выполняю относительно минималистическую установку. Я использую WP-PageNavi для генерации разбиения на страницы.

Я также попытался переименовать/blog/страницу к 'blog2' с мыслью, что мог бы быть конфликт постоянной ссылки - тот же результат./blog2/page/2/загружает те же первые 10 сообщений.

Какие-либо идеи, какова могла бы быть причина здесь?

1
18.02.2014, 21:14
5 ответов
$my_query = new WP_Query( array( 'posts_per_page' => 3, 'paged' => get_query_var('paged') ) );

while ( $my_query->have_posts() ) : $my_query->the_post();
    the_title();
    // more stuff here
endwhile;

wp_pagenavi( array( 'query' => $my_query ) );

wp_reset_postdata();

попробуйте этот код и также увеличьтесь, размер выставочных сообщений на страницах SETTINGS-> Reading-> Blog показывают самое большее 10 - 50 или 100, надежда, таким образом, это поможет Вам.

0
19.02.2020, 23:37

Почему Вы используете WP-PageNavi для основанного на числе разбиения на страницы. Предложение WordPress способ выполнить это. BTW здесь является полным запросом для Вас для использования в home.php

<div id="main-content">
    <div class="container">

        <section id="content" class="blog"> 

            <?php

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

              $args = array(
                  'post_type' => 'post',
                  'paged' => $paged
              );

              $my_query = new WP_Query( $args );

              if ( $my_query->have_posts() ) :

                  while ( $my_query->have_posts() ) : $my_query->the_post();

                      get_template_part( 'content', 'blog-index' );

                  endwhile;

                  if ( $my_query->max_num_pages > 1 ) :
                      $big = 999999999;
                      echo '<div class="pagination">';
                      echo paginate_links( array(
                          'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
                          'format' => '?paged=%#%',
                          'current' => max( 1, get_query_var('paged') ),
                          'total' => $my_query->max_num_pages
                      ) );
                      echo '</div>';
                  endif;

              else :

                    get_template_part( 'content', 'none' );

              endif;

              wp_reset_postdata();

            ?>

        </section>

        <?php get_sidebar( 'blog' ); ?>

    </div>
</div>
0
19.02.2020, 23:37

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

<?php if ( $wp_query->max_num_pages > 1 ) :?>
    <div class="pagination">
        <?php for ( $i = 1; $i <= $wp_query->max_num_pages; $i ++ ) { 
            $link = $i == 1 ? remove_query_arg( 'pg' ) : add_query_arg( 'pg', $i );
            echo '<a href="' . $link . '"' . ( $i == $paged ? ' class="active"' : '' ) . '>' . $i . '</a>';
        } ?>
    </div>
<?php endif ?>

Надежда это помогает Вам также.

0
19.02.2020, 23:37

Используя home.php не походит на хорошую идею, но если это - единственный запрос на странице, Вам, возможно, придется добавить несколько вещей. Следующее обычно работает на нумерацию страниц статической страницы:

Добавьте:

global $paged, $wp_query; 
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;

Но также необходимо добавить еще один аргумент аргументам запроса в шаблонной части для включения разбиения на страницы:

'paged'     => $paged

Ваш заключительный код шаблона был бы:

get_header(); ?>

global $paged, $wp_query; 
    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;

    <div id="main-content">
        <div class="container">

        <section id="content" class="blog"> 

            <?php while ( have_posts() ) : the_post(); ?>

                <?php get_template_part( 'content', 'blog-index' ); ?>

            <?php endwhile; ?>

        </section>

        <?php get_sidebar( 'blog' ); ?>

        <div class="pagination">
            <?php wp_pagenavi(); ?>
        </div>

    </div>
</div>
0
19.02.2020, 23:37

Почему не делают Вы вызываете разбиение на страницы путем добавления следующего кода как так:

<div id="main-content">
    <div class="container">

        <section id="content" class="blog"> 

            <?php
            $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
            query_posts('posts_per_page=3&paged=' . $paged);
            ?>

            <?php while ( have_posts() ) : the_post(); ?>

                <?php get_template_part( 'content', 'blog-index' ); ?>

            <?php endwhile; ?>

        </section>

        <?php get_sidebar( 'blog' ); ?>

        <div class="pagination">
            <?php wp_pagenavi(); ?>
        </div>

    </div>
</div>

Проверьте эту ссылку: http://codex.wordpress.org/Function_Reference/query_posts#Pagination

-2
19.02.2020, 23:37
  • 1
    никогда не использует query_posts, и никогда выполняемые пользовательские запросы ненужный –  Pieter Goosen 05.09.2014, 08:38
  • 2
    @PieterGoosen затем Jonathan не должен добавлять загруженную шаблонную часть так, чтобы мы видели то, что происходит там. память –  aifrim 05.09.2014, 08:43

Теги

Похожие вопросы