нумерация страниц не работает на одной странице WordPress - PullRequest
1 голос
/ 26 марта 2019

Нумерация страниц не работает на одной странице WP.

В приведенном ниже коде все выглядит отлично, за исключением того, что нумерация страниц показывает то же содержимое на следующей странице.

Я испробовал все возможные решения, которые нашел в Интернете, но ни одно из них не сработало. Я относительно новичок в WP и php, поэтому, если бы вы могли точно определить код, который может быть неправильным, это было бы очень полезно.

          <?php
          $paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' 
         ) : 1;
          $args = array(
            'posts_per_page' => 3,
            'paged'          => $paged,
            'post_type' => 'book',
            'offset'   => 1,

            'tax_query' => array( 
              array(
                'taxonomy' => 'news_cat', 
                'field' => 'slug', 
                'terms' => array( 'disney' ) 
              ),
            ),   
          );?>

          <?php $the_query = new WP_Query( $args ); 
          ?>


        <?php if ($the_query->have_posts()) ?>
        <?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>  

        <a href="<?php echo ('/test/'.get_the_ID()); ?> "ontouchstart="" >                                                         
        <li>
          <div>
            <figure><img src="<?php the_field('thumb'); ?>" alt="">           
          </figure>
          </div>
          <span><em><?php the_field('category'); ?></em><?php the_field('date'); ?></span>
          <p><?php the_title(); ?></p>
        </li>
        </a>

    <?php endwhile; ?>


    <?php $GLOBALS['wp_query']->max_num_pages = $the_query->max_num_pages;
    $args = array (
        'prev_text' => '',
        'next_text' => '',
        'show_all'  => false,
        'mid_size'  => 1,
        'type'      => 'list'
    );
    the_posts_pagination($args);?>   

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

Как вы видите, я хочу, чтобы разбиение на страницы работало только на сообщениях с "диснеевским" слагом.

1 Ответ

1 голос
/ 26 марта 2019

Вы можете заменить код вместо старого

<?php
          $paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' 
         ) : 1;
          $args = array(
            'posts_per_page' => 3,
            'paged'          => $paged,
            'post_type' => 'book',
            'offset'   => 1            
            ),   
          );?>

          <?php $the_query = new WP_Query( $args ); 
          ?>


        <?php if ($the_query->have_posts()) ?>
        <?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>  

        <a href="<?php echo ('/test/'.get_the_ID()); ?> "ontouchstart="" >                                                         
        <li>
          <div>
            <figure><img src="<?php the_field('thumb'); ?>" alt="">           
          </figure>
          </div>
          <span><em><?php the_field('category'); ?></em><?php the_field('date'); ?></span>
          <p><?php the_title(); ?></p>
        </li>
        </a>

    <?php endwhile; ?>


    <?php $GLOBALS['wp_query']->max_num_pages = $the_query->max_num_pages;
    $args = array (
        'prev_text' => '',
        'next_text' => '',
        'show_all'  => false,
        'mid_size'  => 1,
        'type'      => 'list'
    );
    the_posts_pagination($args);?>   

Теперь вы можете проверить, работает ли разбиение на страницы или нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...