karelina-nat
@karelina-nat

Почему не работает пагинация кастомных постов Wordpress?

У меня на Wordpress есть две страницы: page-deals, на которой выводятся все кастоимные посты с определенным типом
и taxonomy-deals.php? на которой выводятся эти посты по кастомным категориям (посты и таксономия сделаны через плагин CPT UI).
Задача: сделать пагинацию на обеих страницах. Я использую kama_pagenavi для пагинации, но при переходе на страницу 2, у меня 404 ошибка.
Перерыла интернет, ничего не помогло. Может кто встречался с таким
Мой код для вывоа всех постов на page-deals:
<section class="o-section p-list">
		<div class="o-container">
			<div class="o-grid">
                <?php 
                $paged = ( get_query_var('paged') ) ? get_query_var('paged') : 1;
					$query = new WP_Query( array( 
                        'post_type' => 'deals_type',
                        'posts_per_page' => 16,
                        'paged' => $paged,
						'orderby' => 'date', 
						'order' => 'DESC',
					) ); 

					while ( $query->have_posts() ):
						$query->the_post();
				?>
				<div class="o-col o-col--laptop-6">
					<?php get_template_part('template-parts/list-card'); ?>
				</div>
				<?php
					endwhile;
				?>
                 <?php kama_pagenavi($before = '', $after = '', $echo = true, $args = array(), $wp_query = $query); // пагинация, функция нах-ся в function.php ?>
			</div>
		</div>
	</section>


Код для вывода по таксономиям:
<?php 

$term_list = get_the_terms( get_the_ID(), 'deals' )[0]->slug;
$paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1;
$args = array(
    'post_type' => 'deals_type',
    'posts_per_page' => 2,
    'paged' => $paged,
    'orderby' => 'date',
    'order'   => 'DESC',
    'tax_query' => array(
		array(
			'taxonomy' => 'deals',
            'field'    => 'slug',
            'terms'    => array( $term_list ),
		)
	)
);

$query = new WP_Query($args); ?>

	<section class="o-section p-list">
		<div class="o-container">
			<div class="o-grid">
				
                 <?php if ($query->have_posts()) : ?>
                    <?php
                    while ($query->have_posts()) : $query->the_post(); ?>
                   
				<div class="o-col o-col--laptop-6">
					<?php get_template_part('template-parts/list-card'); ?>
				</div>
				
                  <?php  endwhile;
                
                    ?>
                    <?php kama_pagenavi($before = '', $after = '', $echo = true, $args = array(), $wp_query = $query); // пагинация, функция нах-ся в function.php ?>
                    <?php 
                 
                    
                    ?>
                <?php endif; ?>
<?php 
wp_reset_postdata();?> 
            </div>
            
             <?php
 
?>  
            
		</div>
	</section>
  • Вопрос задан
  • 184 просмотра
Решения вопроса 1
karelina-nat
@karelina-nat Автор вопроса
Решила проблему, у меня всё правильно в коде. Оказался сам сайт глючный. Он как бы и до этого глючил и глюки лечились только перезапуском сервера, а тут совсем что-то заглючил.
Оказалось, что при подключении таксономии к постам, отвалилась страница самого поста. Обновление произвольных ссылок не сработало.
Чтобы всё корректно вышло, я заново подключила таксономию, при этом после малейшего изменения обновляя произвольные ссылки. И теперь всё хорошо
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы