Intereting Posts
WordPress wp-cron не работает (решено) Изменить запрос поиска, если исходный запрос не дал результатов Почтовая разбивка на страницы с одинаковыми сообщениями на каждой странице Параметры виджетов Не сохранять Темы Grandchild и оптимальная сетевая архитектура Поля пользовательского поиска и поддержка AJAX Добавление дополнительных меню в детские темы Genesis Расширение допустимых тегов HTML в комментариях? Получить идентификатор пользователя, которому принадлежит данный идентификатор блога в Multisite предотвращать показ нераспознанных символов после отключения emoji через плагин проверка файлов cookie для защищенных паролем страниц не работает Вы очищаете свои самозанятые плагины при деактивации? Получите более 10 сообщений в определенной категории с помощью wordpress api Не удалось удалить jquery из заголовка и положить до конца тела Как создать ШАБЛОНЫ для ТАКСОНОМИИ? Что мне нужно изменить в этом коде?

Как добавить <ul> в WP_Query на каждые 3 опубликованные сообщения?

Я хочу отображать каждые 3 продукта в <ul>

Пример того, как должен выглядеть HTML:

 <ul> <li>product looping 1</li> <li>product looping 2</li> <li>product looping 3</li> </ul> <ul> <li>product looping 4</li> <li>product looping 5</li> <li>product looping 6</li> </ul> 

Код WP_Query:

 <?php $args = array( 'post_type' => 'product', 'posts_per_page' => 8, 'orderby' => 'date', ); $loop = new WP_Query( $args ); if ( $loop->have_posts() ) { while ( $loop->have_posts() ) : $loop->the_post(); //wc_get_template_part( 'content', 'product' ); ?> <li class="col-md-3"> <div class="gridproduto"> <a href="<?php the_permalink(); ?>"> <?php global $post, $product; ?> <?php if ( $product->is_on_sale() ) : ?> <?php echo apply_filters( 'woocommerce_sale_flash', '<span class="onsale">' . __( 'Sale!', 'woocommerce' ) . '</span>', $post, $product ); ?> <?php endif; ?> <span class="thumbnail-product"> <?php the_post_thumbnail( 'medium' ); ?> </span> </a> <div class="main-infos"> <a href="<?php the_permalink(); ?>"> <h5><?php the_title(); ?></h5> <div><?php echo $product->get_price_html(); ?></div> <span class="preco_boleto"> <?php $boleto = $product->get_price(); $desconto = 10; $division = $boleto - ( $boleto * ($desconto / 100) ); echo "R$ " . number_format( round($division, 2), 2, ',', '.' ); ?> </span> <span class="parcela">no boleto ou em até <br> 3x de <?php echo number_format( round( $product->get_price() / 3, 2), 2, ',', '.' ); ?> sem juros.</span> </a> <a href="#" class="btn-orange">Comprar</a> </div> </div> </li> <?php endwhile; } else { echo __( 'No products found' ); } wp_reset_postdata(); ?> 

Это будет работать:

 <?php $args = array( 'post_type' => 'product', 'posts_per_page' => 8, 'orderby' => 'date', ); $loop = new WP_Query( $args ); if ( $loop->have_posts() ) { $i=1; echo '<ul>'; while ( $loop->have_posts() ) : $loop->the_post(); //wc_get_template_part( 'content', 'product' ); ?> <li class="col-md-3"> <div class="gridproduto"> <a href="<?php the_permalink(); ?>"> <?php global $post, $product; ?> <?php if ( $product->is_on_sale() ) : ?> <?php echo apply_filters( 'woocommerce_sale_flash', '<span class="onsale">' . __( 'Sale!', 'woocommerce' ) . '</span>', $post, $product ); ?> <?php endif; ?> <span class="thumbnail-product"> <?php the_post_thumbnail( 'medium' ); ?> </span> </a> <div class="main-infos"> <a href="<?php the_permalink(); ?>"> <h5><?php the_title(); ?></h5> <div><?php echo $product->get_price_html(); ?></div> <span class="preco_boleto"> <?php $boleto = $product->get_price(); $desconto = 10; $division = $boleto - ( $boleto * ($desconto / 100) ); echo "R$ " . number_format( round($division, 2), 2, ',', '.' ); ?> </span> <span class="parcela">no boleto ou em até <br> 3x de <?php echo number_format( round( $product->get_price() / 3, 2), 2, ',', '.' ); ?> sem juros.</span> </a> <a href="#" class="btn-orange">Comprar</a> </div> </div> </li> <?php if ($i % 3 == 1){ echo '</ul><ul>'; } $i++; endwhile; echo '</ul>'; } else { echo __( 'No products found' ); } wp_reset_postdata(); ?> 

Пожалуйста, используйте код, как показано ниже:

  $break_after = 3; $counter = 0; $args = array( 'post_type' => 'product', 'posts_per_page' => 8, 'orderby' => 'date', ); $loop = new WP_Query( $args ); if ( $loop->have_posts() ) { while ( $loop->have_posts() ) : $loop->the_post(); if ($counter % $break_after == 0) { echo '<ul>'; } ?> <li class="col-md-3"> <div class="gridproduto"> <a href="<?php the_permalink(); ?>"> <?php global $post, $product; ?> <?php if ( $product->is_on_sale() ) : ?> <?php echo apply_filters( 'woocommerce_sale_flash', '<span class="onsale">' . __( 'Sale!', 'woocommerce' ) . '</span>', $post, $product ); ?> <?php endif; ?> <span class="thumbnail-product"> <?php the_post_thumbnail( 'medium' ); ?> </span> </a> <div class="main-infos"> <a href="<?php the_permalink(); ?>"> <h5><?php the_title(); ?></h5> <div><?php echo $product->get_price_html(); ?></div> <span class="preco_boleto"> <?php $boleto = $product->get_price(); $desconto = 10; $division = $boleto - ( $boleto * ($desconto / 100) ); echo "R$ " . number_format( round($division, 2), 2, ',', '.' ); ?> </span> <span class="parcela">no boleto ou em até <br> 3x de <?php echo number_format( round( $product->get_price() / 3, 2), 2, ',', '.' ); ?> sem juros.</span> </a> <a href="#" class="btn-orange">Comprar</a> </div> </div> </li> <?php if ($counter % $break_after == ($break_after-1)) { echo '</ul>'; } ++$counter; endwhile; } else { echo __( 'No products found' ); } wp_reset_postdata(); 

Надеюсь, это поможет!!