Не работает пагинация по рубрикам
Вывожу анонсы статей, вызываю пагинацию. Появляется необходимое кол-во страниц. Но при клике на следующую или любую другую остается та же страница.
Вот код через который вывожу:
<?php while (have_posts()) : the_post();?> <div class="news-view"> <a href="<?php the_permalink(); ?>"><h3><?php the_title(); ?></h3></a> <div class="d-flex"> <div class="main-wrap"> <a href="<?php the_permalink(); ?>"> <?php echo get_the_post_thumbnail( $id, array(200,200) ); ?> </a> </div> <div class="news-txt"> <p><?php the_excerpt_max_charlength(250); ?></p> <a href="<?php the_permalink(); ?>">подробнее</a> </div> </div> </div> <?php endwhile; ?> <?php the_posts_pagination(); ?> <?php wp_reset_query();?>
Было 3 ошибки. Итак поэтапноe решение, что я сделал:
- Создал для каждой рубрики страницу через админку и присвоил шаблон - этого делать нельзя пагинация ломается. Для рубрик вообще не надо создавать отдельные страницы через админку.
- Нарушил иерархию шаблонов wordpress. Если вы создаете несколько рубрик и для каждой рубрики используете отдельный шаблон страницы то именуйте файлы
category-(id-рубрики).php
напримерcategory-10.php
WP ищет в первую очередь эти страницы. - Не правильное определение переменной (только в моем случае), у остальных вроде как работает укороченный вариант записи переменной $paged
$paged = 1; if(get_query_var('paged')) { $paged = get_query_var('paged'); } elseif(get_query_var('page')) { $paged = get_query_var('page'); } $query = new WP_Query(array( 'paged' => $paged, 'cat' => 10, ));
После всех манипуляций абсолютно любой тип пагинации стал корректно работать
воткнул первый код из этого ответа (ниже по ссылке) и все завелось, но может у вас ВП и тема чегото не пускают, тут не подскажу никак
вопрос
код под себя уже подгоните.
На стандартной теме, для стандартного шаблона да заведется и у меня тоже). Но здесь идет несколько рубрик, каждая запись выводится на отдельной странице по рубрике. Посты выводятся через cat => ID. И пагинация на этих условиях отказывается работать
я проверял на странице data.php и на отдельных шаблонах и вставлял 'cat' => 'ID'
все завелось (на удивление, обычно не работает)
проверьте пагинацию , может в теме стоит своя
Своей нет, пробовал через плагин wp_pagenavi тоже не рагирует.
Нашел инфу. Моя последовательность действий была такая. Создал шаблон страницы, создал рубрику, создал страницу. На кодексе говорили, что для рубрик не надо создавать свои страницы - они по умолчанию создаются архивные. так вопрос как тогда перейти на эти архивные страницы не через админку?