Не работает пагинация wp-pagenavi в портфолио
Здравствуйте. Есть код портфолио, который выводит список записей из определенной рубрики в виде плитки, так же он содержит фильтр с разбивкой по подрубрикам. Очень удобно. Но проблема в том, что изначально грузятся все записи, что заметно утяжеляет загрузку страницы и не удобно с практической точки зрения. Попытался сделать пагинацию, но ничего не получилось. Не хватает знаний.
Код портфолио такой:
<div id="7" class="gp-home-container gp-light-bg gp-clearfix"> <div class="gp-home-container-inner gp-clearfix"> <div class="gp-home-container-title"> <h2><?php echo $titan->getOption( 'filter-title' ); ?></h2> <span><?php echo $titan->getOption( 'filter-subtitle' ); ?></span> </div><!-- end home-container title --> <ul id="filters" class="gp-clearfix"> <li>Фильтр: </li> <li><a href="#" data-filter="*" class="selected"><?php _e('Все', 'gpress'); ?></a></li> <?php $terms = get_terms('category', array('parent' => $titan->getOption( 'filter-cat' ))); $count = count($terms); if ( $count > 0 ){ foreach ( $terms as $term ) { echo "<li><a href='#' data-filter='.".$term->slug."'>" . $term->name . "</a></li>\n"; } } ?> </ul> <?php $terms_ID_array = array(); foreach ($terms as $term) { $terms_ID_array[] = $term->term_id; } $terms_ID_string = implode(',', $terms_ID_array); $the_query = new WP_Query( 'posts_per_page=30&cat='.$terms_ID_string ); ?> <?php if ( $the_query->have_posts() ) : ?> <div id="isotope-list"> <?php while ( $the_query->have_posts() ) : $the_query->the_post(); $termsArray = get_the_terms( $post->ID, "category" ); $termsString = ""; foreach ( $termsArray as $term ) { $termsString .= $term->slug.' '; } ?> <div class="<?php echo $termsString; ?> filter-block grid-item"> <div class="item-wrap"> <?php $thumb = get_post_thumbnail_id(); $img_url = wp_get_attachment_url( $thumb,'full' ); $image = aq_resize( $img_url, 400, 400, true, true, true ); ?> <?php if($image) : ?><img src="<?php echo $image ?>" alt="<?php the_title(); ?>"><?php endif; ?> </div> <!-- end item-wrap --> <div class="item-inner"> <h2><?php the_title(); ?></h2> </div><!-- end item inner --> <div class="item-action-icons"> <?php if($image) : ?> <a rel="lightbox" href="<?php echo $img_url ?>"><i class="fa fa-arrows-alt" aria-hidden="true"></i></a><?php endif; ?> <a href="<?php the_permalink() ?>"><i class="fa fa-link" aria-hidden="true"></i></a> </div> </div> <!-- end item --> <?php endwhile; ?> </div> <!-- end isotope-list --> <?php endif; ?> </div><!-- end home-container-inner --> </div><!-- end home-container -->
Получается так, что если
$the_query = new WP_Query( ‘posts_per_page=30&cat=’.$terms_ID_string );
то не выводятся остальные записи, коих более 150. Так что остается на данный момент сделать
$the_query = new WP_Query( ‘posts_per_page=150&cat=’.$terms_ID_string ); и наблюдать простыню с длинной прокруткой.
Буду благодарен за помощь.
Не совсем понятно в чем собственно вопрос?)
Если какие альтернативы есть, то посмотрите в сторону ajax подгрузки постов, вот подробно описано:
https://truemisha.ru/blog/wordpress/ajax-pagination.html
Будут более конкретные вопросы — задавайте.
Спасибо за ответ. Михаил. Это тема платная, хочется использовать ее функционал, не нарушая структуру и работая через админку в рамках инструкции… Вопрос в том, как мне изменить исходный код, чтобы появилась постраничная навигация. По умолчанию загружается весь список постов из избранной категории (у меня это каталог товаров) в виде плитки. Навигация не предусмотрена. Потом уже можно фильтровать список посредством фильтра. так что у меня на выбор два варианта: или встроить навигацию wp-pagenavi (но я не смог это реализовать — мало опыта и знаний) или исключить вывод всех товаров из категории, оставив по умолчанию загрузку любой рубрики на выбор.
Можете помочь с проблемой? Заранее спасибо

Меня Евгений зовут.
Я вряд ли смогу помочь, так как не работал с данным шаблоном и не знаю как там все реализовано.
Что бы не изменять код самого шаблона, придется делать в дочерней теме. Попробуйте сперва ее создать. Затем посмотрите в исходном коде вывода галереи и поискать так do_filter ил do_action — возможно туда можно подключиться. Если нет попробуйте файл вывода полностью перенести в дочернюю тему и чуть отредактировать.
Если получится отредактировать через дочернюю тему то проблем добавить пагинацию — не должно возникнуть.
Дочерние темы в вордпресс:
Простите, Евгений. Спасибо за ответы!