Поддержка Проблемы и решения wordpress цикл и Bootstrap

  • Решено leonking2000

    (@leonking2000)


    Здравствуйте. Помогите решить проблему. Как в цикле можно вывести записи.

    Проблема, что после каждого четвертого блока мне нужно обернуть код в класс «row».

    Кто с таким сталкивался, помогите пожалуйста.

    <div class="row text-center">
    
                    <?php
    				$args = array(
    				'order' => 'ASC',
    				'post_type' => 'properties',
    				'orderby' => 'menu_order',
    				'posts_per_page' => -1
    				);
    
    				$properties = new WP_Query($args);
    				?>
    
                    <?php
    				if ($properties->have_posts()) : ?>
    				<?php while($properties->have_posts()) : $properties->the_post(); ?>
    
                    <div class="col-sm-3 feature-item anim-el">
                    	<h3><?php the_title('');?></h3>
                        <?php the_content('');?>
                    </div>
    
    				<?php endwhile?>
    				<?php endif?>
    
    			</div>
Просмотр 4 ответов — с 1 по 4 (всего 4)
  • Просто обычный счётчик добавьте. i++ и всё остальное. Если i=4, добавляйте обёртку.

    Есть такой код, но он не ведет подсчет. Что не так?

    <?php
    $args = array(
    'order' => 'ASC',
    'post_type' => 'properties',
    'orderby' => 'menu_order',
    'posts_per_page' => -1
    );
    $properties = new WP_Query($args);
    ?>
    <?php
    if ($properties->have_posts()) : $i = 0; // счетчик ?>
    <?php while($properties->have_posts()) : $properties->the_post(); ?>
    <!-- открываем класс row для первых 4-х блоков и увеличиваем счетчик с каждым блоком -->
    <?php if($i == 0){echo '<div class="row text-center">'; $i++;} ?>
      <div class="col-sm-3 feature-item anim-el">
       <h3><?php the_title('');?></h3>
       <?php the_content('');?>
      </div>
    <!-- если выведено 4 блока, закрывам класс row и обнуляем счетчик -->
    <?php if($i == 4){echo '</div>'; $i = 0;} ?>
    <?php endwhile?>
    <!-- если посты закончились и не кратны 4-ем, тогда закрываем класс row -->
    <?php if($i != 0) echo '</div>'; ?>
    <?php endif?>

    Если просто выводить значение счётчика, что выдаёт?
    Так с первого взгляда вроде всё нормально, но под рукой нет нормального редактора, не посмотреть более внимательно пока.

    Спасибо за помощь Pixelix. Вот решение, кому нужно (рабочий):

    <?php
    
    				$args = array(
                    'order' => 'ASC',
                    'post_type' => 'properties',
                    'orderby' => 'menu_order',
                    'posts_per_page' => -1
                    );
                    $properties = new WP_Query($args);
                    ?>
    
    				<?php
                    if ($properties->have_posts()) : $i = 0; // счетчик ?>
                    <?php while($properties->have_posts()) : $properties->the_post(); ?>
                    <!-- открываем класс row для первых 4-х блоков -->
                    <?php if($i == 0){echo '<div class="row text-center">';} ?>
    
                        <div class="col-sm-3 feature-item anim-el">
                        <h3><?php the_title('');?></h3>
                        <?php the_content('');?>
                        </div>
    
    				<?php $i++; // увеличиваем счетчик здесь ?>
                    <!-- если выведено 4 блока, закрывам класс row и обнуляем счетчик -->
                    <?php if($i == 4){echo '</div>'; $i = 0;} ?>
                    <?php endwhile?>
                    <!-- если посты закончились и не кратны 4-ем, тогда закрываем класс row -->
                    <?php if($i != 0) echo '</div>'; ?>
                    <?php endif?>

Просмотр 4 ответов — с 1 по 4 (всего 4)
  • Тема «wordpress цикл и Bootstrap» закрыта для новых ответов.