Добрый вечер!
Пытаюсь разобраться, как настроить пагинацию при использовании get_posts
Я назначил вывод списка записей по определенным произвольным полям
<?php $posts = get_posts( array(
'numberposts' => 0,
'paged' => 2,
'offset' => 0,
'orderby' => 'post_date',
'order' => 'DESC',
'meta_key' => 'uslugi',
'meta_value' => 'Ремонт и строительство',
'post_type' => 'post',
'post_status' => 'publish'
) );
foreach($posts as $post): setup_postdata($post); ?>
Вывод записей происходит нормально, но пагинация отсутствует. Причем как вордпресовская, так и c плагином wp_pagenavi.
Указанный код расположил после (have_posts()) while(have_posts()) : the_post () для корректного отображения списка.
Подскажите где искать ошибку.
Благодарен каждому отозвавшемуся.
пагинация в шаблоне используется только при выводе публикаций через стандартный цикл (have_posts()) while(have_posts()) : the_post ()
Для кастомной выборке публикаций с постраничной навигацией необходимо использовать цикл вкупе с функцией query_posts
Если же вы реализуете кастомный вывод публикаций за пределами основного цикла ВП, то следует использовать построение цикла на основе класса WP_Query, например:
$args = array( 'posts_per_page' => 3 );
$query = new WP_Query( $args );
while ( $query->have_posts() ) {
$query->the_post();
the_title(); // выведем заголовок поста
}
wp_reset_postdata();
с использованием функции построения постраничной навигации