@e_mooshka
Веб-Разработчик

Слетает пагинация на страницах, как исправить?

Слетает пагинация на страницах (custom post type), из-за установки WooCommerce.

Если не устанавливать WooCommerce, все ок, как только установил, при переходе по ссылкам выводит ошибку 404.

Страница с пагинацией: https://skazkamini.ru/reviews/

Код страницы:

<?php 

/*
Template Name: Reviews Template
*/

get_header();

?>


<section class="section-reviews section-page">
  <div class="container">
    <h2 class="section__title">Отзывы о нашей работе</h2>
    <div class="news">

      <?php 

        $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
        $reviews_args = array(
          'paged'          => $paged,
          'post_type'     => 'reviews',
          'posts_per_page' => '1',
          'order'         => 'DESC'
        );

          $reviews_query = new wp_Query($reviews_args); ?>

          <?php echo $paged ?>

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

            <div class="news__item card-box dashed">
              <div class="news__photo">
                <a href="#!" data-remodal-target="modal9">
                  <?php echo get_the_post_thumbnail(get_the_ID(), 'post-news')?>
                </a>
              </div>
              <div class="news__info">
                <div class="news__head">
                  <h3 class="news__title"><?php the_title()?></h3>
                  <span class="news__date"><?php echo get_the_date()?></span>
                </div>
                <div class="news__text">
                  <?php the_content()?>
                </div>
                <span class="news__call-span">Хотите сказку - книгу для своего ребёнка? Закажите звонок менеджера!</span>
                <a href="#!" class="news__all-btn">Читать весь отзыв</a>
              </div>
            </div>
      
          <?php endwhile; } wp_reset_postdata(); ?>

      
      
    </div>
    <!-- news -->

    <nav class="pagination">

    <?php
        echo paginate_links( array(
        'show_all'     => false, // показаны все страницы участвующие в пагинации
        'end_size'     => 1,     // количество страниц на концах
        'mid_size'     => 2,     // количество страниц вокруг текущей
        'prev_next'    => false,
        'screen_reader_text' => __( ' ' ),
        'total'     => $reviews_query->max_num_pages,
        'type' => 'list',
        ) );
    ?>

    </nav>
    <!-- pagination -->

    <div class="news__ask-wrap">
      <a href="#!" data-remodal-target="modal8" class="news__ask-btn requisition__form__btn small__shadow__btn big__shadow__btn">Оставить свой отзыв</a>
    </div>



  </div>
</section>
<!-- news section -->


<?php get_footer() ?>

<!-- Reviews photo popup -->
<div data-remodal-id="modal9" class="remodal remodal__review-page" role="dialog" aria-labelledby="modal2Title" aria-describedby="modal2Desc">
  <div class="modal__info__wrapper">
    <div class="modal__close" data-remodal-action="confirm"></div>
    <!-- content -->
    <img src="img/inner-page/child.png" class="remodal__review-img" alt="">   
    <!-- content -->
  </div>
</div>
</div>
  • Вопрос задан
  • 110 просмотров
Решения вопроса 1
@its2easyy
не должно быть одинаковых слагов на сайте чтобы не было конфликтов, скорее всего по ссылке /reviews грузится страница потому что она приоритетнее чем архив, а при /reviews/page/2 уже шаблон архива отзывов, но из за того что отзывов меньше чем на две страницы (меньше 10), то второй страницы не существует, и выдает 404.
Можно проверить если поменять слаг страницы или поменять rewrite в настройках post_type отзывов, потом сохранить пермалинки. Если проблема была в конфликте слагов то начнёт работать
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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