У меня есть поле в ACF, где я могу выбирать между различными категориями сообщений. Основываясь на этом выборе, WP добавляет все посты из этой категории на страницу. Теперь я хочу добавить нумерацию страниц, но пока не могу найти решение, я попробовал разные методы из онлайн-уроков. Может ли кто-нибудь дать мне подсказку, как этого добиться?
Мне удалось добавить нумерацию страниц, но она работает неправильно. На каждой странице отображаются одни и те же сообщения, всегда самые новые 2 (или любое другое число, которое я указывал в качестве сообщений на странице). Также навигация глючит, я не могу щелкнуть на странице 1, далее всегда ведет на страницу 2 и т. Д.
Что я делаю не так?
<?php
$paged = get_query_var('paged') ? get_query_var('paged') : 1;
$args = array(
'post_type' => 'post',
'post_status' => 'publish',
'category_name' => 'news',
'posts_per_page' => 2,
'paged' => $paged,
);
$arr_posts = new WP_Query( $args );
if ($arr_posts->have_posts()) :
while ($arr_posts->have_posts()) : $arr_posts->the_post()
?>
<div class="col-xs-12 no-padding entry">
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<div class="col-xs-12 col-sm-4 col-md-4 col-lg-4 no-padding">
<?php
if ( has_post_thumbnail() ) :
the_post_thumbnail('medium', array( 'class' => 'img-responsive news-img' ));
endif;
?>
</div>
<div class="col-xs-12 col-sm-8 col-md-8 col-lg-8">
<header class="entry-header">
<p class="entry-date">
<?php echo get_the_date( 'd.m.Y' ); ?>
</p>
<h1 class="entry-title">
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
</h1>
</header>
<div class="entry-content">
<?php the_excerpt(); ?>
</div>
</div>
</article>
</div>
<?php endwhile ?>
<?php
$total_pages = $arr_posts->max_num_pages;
if ($total_pages > 1){
$current_page = max(1, get_query_var('paged'));
echo paginate_links(array(
'base' => get_pagenum_link(1) . '%_%',
'format' => '/page/%#%',
'current' => $current_page,
'total' => $total_pages,
'prev_text' => __('« prev'),
'next_text' => __('next »'),
'add_args' => array()
));
}
?>
<?php else :?>
<h3><?php _e('404 Error: Not Found', ''); ?></h3>
<?php endif; wp_reset_postdata();?>