@ligisayan

Почему не работает posts_per_page в wp_query?

Всем привет! Есть чистый wordpress и своя тема. На главной странице вывожу собственно созданный тип записи и таксономию. Все выводится нормально за одним исключением - не работает лимит 'posts_per_page' => 6 (выводятся абсолютно все записи). Что уже только не предпринимал и сбрасывал wp_reset_postdata(); везде где только можно, и сохранял постоянные ссылки, и пробовал через костыль - ничего не помогает...
Может быть знаете как можно исправить?
<div class="row">
  <?php $post_type = 'recipe';
	$taxonomies = get_object_taxonomies( array( 'post_type' => $post_type ) );
	foreach( $taxonomies as $taxonomy ) :
    $categories = get_terms( $taxonomy );
	foreach ( $categories as $category ) { ?>
  <?php
				  wp_reset_postdata();
			        $args = array(
			                'post_type' => $post_type,
			                'posts_per_page' => 6,  //show all posts
			                'tax_query' => array(
			                    array(
			                        'taxonomy' => $taxonomy,
			                        'field' => 'slug',
			                        'terms' => $category->slug
			                    )
			                )
			            );
			        $posts = new WP_Query($args);
              
        			if( $posts->have_posts() ): ?>
    <?php while( $posts->have_posts() ) : $posts->the_post(); ?>
    <div class="col-md-4 col-sm-6 col-12 <?php echo $category->slug; ?>" data-cat="<?php echo $category->slug; ?>">
      <div class="wrapper">

        <?php if(has_post_thumbnail()) { ?>
        <a href="<?php the_permalink() ?>">
          <?php the_post_thumbnail('recipe-thumb'); ?>
        </a>
        <?php } ?>
        <div class="label">
          <div class="label-text">
            <a href="<?php the_permalink() ?>" class="text-title">
              <?php echo get_the_title(); ?>
            </a>
            <span class="text-category">
								<?php echo $category->slug; ?></span>
          </div>
        </div>
      </div>
    </div>
    <?php endwhile; wp_reset_postdata(); 
		endif; } ?>
    <?php endforeach; 	?>
</div>
  • Вопрос задан
  • 80 просмотров
Решения вопроса 1
poshta3005
@poshta3005
Возможно проблема и не там, но... меня смущает две вещи:
а) у Вас открывается два foreach, а закрывается один.
б) Вы перебираете таксономии, выводя с каждой по 6 постов. Если у Вас в каждой таксономии меньше шести постов, то, вполне возможно, будут выводиться все записи.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
22 марта 2019, в 09:52
20000 руб./за проект
22 марта 2019, в 06:30
10000 руб./за проект
22 марта 2019, в 03:12
20000 руб./за проект