Добрый вечер!
Пытаюсь разобраться, как настроить пагинацию при использовании 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();
с использованием функции построения постраничной навигации