Intereting Posts

WP_Query несколько результатов публикации

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

Когда у меня были только две футболки, они отображали каждую картинку дважды. Как только я добавила третью рубашку, она будет показывать каждую рубашку 3 раза. Мой код:

$args = array( 'post_type' => 'product', 'stock' => 1, 'posts_per_page' => 9, 'product_cat' => $pagename, ); $loop = new WP_Query( $args ); while ( $loop->have_posts() ) : $loop->the_post(); foreach ( $loop->posts as $p ) { $products = new WC_Product($p->ID); echo "<div class='col-md-4'>"; the_post_thumbnail(); echo "</div>"; wp_reset_query(); } endwhile; ?> 

Я попытался переместить wp_reset_query() в несколько мест (т. wp_reset_query() пределах цикла foreach), однако лучше всего я получаю один div с правильной фотографией, а затем несколько пустых div. При использовании var_dump() это выглядит как новый WP_Query($args) .

Я ранее использовал wp_reset_postdata() и переключился на wp_reset_query() из-за некоторых результатов, найденных здесь, но это не помогло.

Заранее спасибо.

Solutions Collecting From Web of "WP_Query несколько результатов публикации"

Ваш цикл неправильный, вы не должны использовать foreach внутри while, просто добавьте классический the_post (), используя переменную вашего цикла в этом случае $ loop

например

 <?php $args = array( 'post_type' => 'product', 'stock' => 1, 'posts_per_page' => 9, 'product_cat' => $pagename, ); $loop = new WP_Query( $args ); while($loop->have_posts()){ $loop->the_post(); ?> <div class="col-md-4"> <?php the_post_thumbnail(); ?> </div> <?php } ?> в <?php $args = array( 'post_type' => 'product', 'stock' => 1, 'posts_per_page' => 9, 'product_cat' => $pagename, ); $loop = new WP_Query( $args ); while($loop->have_posts()){ $loop->the_post(); ?> <div class="col-md-4"> <?php the_post_thumbnail(); ?> </div> <?php } ?>