Не работает пагинация wp-pagenavi в портфолио

Здравствуйте. Есть код портфолио, который выводит список записей из определенной рубрики в виде плитки, так же он содержит фильтр с разбивкой по подрубрикам. Очень удобно.  Но проблема в том, что изначально грузятся все записи, что заметно утяжеляет загрузку страницы и не удобно с практической точки зрения. Попытался сделать пагинацию, но ничего не получилось. Не хватает знаний.

 

Код портфолио такой:



 <?php $titan = TitanFramework::getInstance( 'gpress' );?>
<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 (но я не смог это реализовать — мало опыта и знаний) или исключить вывод всех товаров из категории, оставив по умолчанию загрузку любой рубрики на выбор.

 

Можете помочь с проблемой? Заранее спасибо

в 26.02.2017.

Меня Евгений зовут.

Я вряд ли смогу помочь, так как не работал с данным шаблоном и не знаю как там все реализовано.

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

Если получится отредактировать через дочернюю тему то проблем добавить пагинацию — не должно возникнуть.

Дочерние темы  в вордпресс:

https://codex.wordpress.org/%D0%94%D0%BE%D1%87%D0%B5%D1%80%D0%BD%D0%B8%D0%B5_%D1%82%D0%B5%D0%BC%D1%8B

 

в 27.02.2017.

Простите, Евгений. Спасибо за ответы!

в 27.02.2017.
Добавить Комментарий

Ваш ответ

Размещая свой ответ, вы соглашаетесь с правилами сайта.