каким циклом записи выводятся?
<?php while ( $query->have_posts() ): $query->the_post(); ?>
<?php endwhile; ?>
еще раз, где аргументы $query, где вызов wp_query?
post_per_page -1 — это и есть все.
Я извиняюсь, вообще не спец в WP.
wp_query не вызывается, тут тема consulting, весь этот код достался по наследству. Вот код перед формированием страницы.
$atts = vc_map_get_attributes( $this->getShortcode(), $atts );
extract( $atts );
$css_class = apply_filters( VC_SHORTCODE_CUSTOM_CSS_FILTER_TAG, vc_shortcode_custom_css_class( $css, ' ' ) );
if ( empty( $loop ) ) {
return;
}
$query = false;
list( $loop_args, $query ) = vc_build_loop_query( $loop, get_the_ID() );
if ( ! $query ) {
return;
}
if ( ! $img_size ) {
$img_size = 'consulting-image-350x250-croped';
}
$consulting_config = consulting_config();
@flector
я думал, «post_per_page = -1», это использовать значение по умолчанию из админки. Один фиг, если я его изменяю на 20, он всё равно выводит всё на одну.
где изменяете то?
я по-прежнему не вижу в коде аргументов цикла.
Вот весь код страницы…
<?php
$atts = vc_map_get_attributes( $this->getShortcode(), $atts );
extract( $atts );
$css_class = apply_filters( VC_SHORTCODE_CUSTOM_CSS_FILTER_TAG, vc_shortcode_custom_css_class( $css, ' ' ) );
if ( empty( $loop ) ) {
return;
}
$query = false;
$loop .= '|posts_per_page:20';
list( $loop_args, $query ) = vc_build_loop_query( $loop, get_the_ID() );
if ( ! $query ) {
return;
}
if ( ! $img_size ) {
$img_size = 'consulting-image-350x250-croped';
}
$consulting_config = consulting_config();
?>
<?php if ( $query->have_posts() ): ?>
<div class="stm_news<?php echo esc_attr( $css_class ); ?>">
<ul class="news_list posts_per_row_<?php echo esc_attr( $posts_per_row ); ?>">
<?php while ( $query->have_posts() ): $query->the_post(); ?>
<li>
<div class="post_inner">
<?php if ( has_post_thumbnail() && ! $disable_preview_image ): ?>
<div class="image">
<a href="<?php the_permalink(); ?>">
<?php the_post_thumbnail( $img_size ); ?>
</a>
</div>
<?php endif; ?>
<h5 class="no_stripe"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h5>
<?php if( $consulting_config['layout'] == 'layout_2' || $consulting_config['layout'] == 'layout_9' ) : ?>
<div class="category"><?php echo get_the_category_list(__( ', ', 'consulting' )); ?></div>
<?php else : ?>
<div class="date"><?php echo get_the_date(); ?></div>
<?php endif; ?>
</div>
</li>
<?php endwhile; ?>
</ul>
</div>
<style>.wp-pagenavi{padding:1.875rem 0;}</style>
<?php endif;
if (function_exists('wp_pagenavi')) wp_pagenavi();
wp_reset_postdata();
?>
Обнулил тамошний WP_Query сделал свой:
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$query = new WP_Query([
'post_status' => 'publish',
'posts_per_page' => 20,
'orderby' => 'date',
'order' => 'DESC',
'post_type' => ['post'],
'cat' => 85,
'paged' => $paged,
'post__not_in' => [2313],
]);
Теперь пагинация как бы есть, она переключается &paged=4 и тд.
Но сволочь меню пагинации всё равно не работает, показывает только типа одну страницу. Ссылок на другие страницы не отображает.
судя по коду — где то в настройках самой темы есть указание числа записей на странице.