Limme
@Limme
Хороший парень

Как обернуть каждые 4 поста в div?

Как обернуть каждые 4 поста с функцией wp_query в div?
Дайте более детальный ответ.
Спасибо)
<?php $args = array( 
                        'posts_per_page' => 5, 
                        'orderby' => 'date', 
                        'category_name' => 'team', 
                         );

                    $query = new WP_Query( $args );

                    // Цикл
                    if ( $query->have_posts() ) {
                        while ( $query->have_posts() ) {
                            $query->the_post();?>
                        <?php
                            $thumb_id = get_post_thumbnail_id();
                            $thumb_url = wp_get_attachment_image_src($thumb_id,'thumbnail-size', true);
                        ?>
                        
  <div class="specialist col-6">
        <div class="sp-block-left">
          <div class="image-sp" style="background-image: url('<?php echo $thumb_url[0]; ?>');"></div>
        </div>
        <div class="sp-block-right">
          <a href="<?php the_permalink(); ?>"><h3><?php the_title();?></h3></a>
          <p class="despription"><?php the_tags(); ?></p>
          <p><?php the_excerpt(); ?></p>
        </div>
      </div>


                         <?php 
                              }
                            } 
                            wp_reset_postdata();?>
  • Вопрос задан
  • 1619 просмотров
Решения вопроса 1
wppanda5
@wppanda5 Куратор тега WordPress
WordPress Mедведь
Задача тривиальная.
Добавьте счетчик, и делите значение по модулю.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
sanchezzzhak
@sanchezzzhak
Ля ля ля...
через array_chunk($array,4);
Разбивает массив на несколько массивов размером в size элементов. Последний массив из полученных может содержать меньшее количество значений, чем указано в size.


$args = array( 
                        'posts_per_page' => 5, 
                        'orderby' => 'date', 
                        'category_name' => 'team', 
                         );
    $postsArr = get_posts( $args );
    $chunkPosts = array_chunk($postsArr ,4);
    foreach($chunkPosts as $posts){
        echo '<div class="див блока">';
             foreach($posts as $post){
                   // Выводим посты в блоке.
             }
        echo '</div>';
    }


вроде так если я правильно понял ВП.
Ответ написан
Комментировать
<div class="wrapper">
foreach($chunkPosts as $key => $posts){
   echo ($key > 0 && $key % 4 == 0) ? '</div><div class="wrapper">' : '';
   // то, что нужно оборачивать
}
</div>

Если подошло, то добро пожаловать в гости: hitn.ru
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы