<?php
// параметры по умолчанию
$wp_query = new WP_Query(array(
'posts_per_page' => '3', // кол-во записей на страницу
'post_type' => 'news',
'paged' => get_query_var('paged') ?: 1
));
while( $wp_query->have_posts($wp_query) ){ $wp_query->the_post(); ?>
<div class="news_items">
<h1><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h1>
<?php the_date(); ?>
<p ><?php the_content(); ?></p>
</div>
<?php
}
the_posts_pagination();
wp_reset_query();
?>
<?php $current = absint(max(1, get_query_var( 'paged' ) ? get_query_var( 'paged' ) : get_query_var( 'page' )));
$posts_per_page = 9; ?>
<?php $args = array( 'post_type' => 'blog', 'posts_per_page' => $posts_per_page, 'paged' => $current ); $loop = new WP_Query( $args ); ?>
<?php while ( $loop->have_posts() ) : $loop->the_post(); ?>
// код поста блога
<?php endwhile; ?>
<div class="blog-nav">
<ul class="blog-nav-items">
<?php
echo wp_kses_post(
paginate_links([
'total' => $loop->max_num_pages,
'current' => $current,
'prev_text' => '',
'next_text' => '',
])
);
?>
</ul>
</div>
// получаем номер страницы пагинации
$current = absint( max( 1, get_query_var( 'paged' ) ? get_query_var( 'paged' ) : get_query_var( 'page' ) ) );
// собираем запрос
$my_query = new WP_Query( [
'post_type' => 'page',
'posts_per_page' => 10,
'paged' => $current,
] );
if ( $my_query->have_posts() ) {
// основной цикл
while ( $my_query->have_posts() ) {
$my_query->the_post();
###########
}
wp_reset_postdata(); // возвращаем глобальный цикл
// выводим пагинацию
echo wp_kses_post(
paginate_links( [
'total' => $my_query->max_num_pages, // количество берем из дефолтной опции запроса
'current' => $current, // текущая страница
] )
);
} else {
// выводим шаблон "нет контента", если в запросе нет постов
get_template_part( 'templates/content', 'none' );
}