Как вывести три поста в строке (Bootstrap)? UPD?
Извиняюсь за свои русский!
В slug-archive.php у меня отображаются миниатюры custom постов. Что мне сделать, чтобы в одном ряду отображались три поста и начал роботать Bootstrap.
Здесь уже был такой же вопрос (https://wp-kama.ru/question/razdelenie-vyvod-postov-v-tsikle), но в силу своего незнания php у меня нихрена не получается.
Спасибо за помощь.
<div class="container news2"> <div class="row d-flex flex-wrap no justify-content-start"> <div class="col-6 no"> <?php $args = array( 'post_type' => 'zpravy', 'posts_per_page' => 10 ); $loop = new WP_Query( $args ); while ( $loop->have_posts() ) : $loop->the_post(); ?> <a href="<?php the_permalink(); ?>"> <?php the_title(); ?></a> <a href="<?php the_permalink(); ?>"> <img src="<?php the_field('obrazek_01') ?>" alt="" class="logo"></a> <?php echo '<div class="entry-content">'; the_content(); echo '</div>'; endwhile; ?> </div> </div> </div>
UPD.
-----------------------------------------------------------------------------------------
Наконец-то с помощью гугла я сделал так, чтобы все роботало.
<div class="container news2"> <div class="row d-flex flex-wrap no justify-content-start"> <div class="col-6 no"> <?php $args = array( 'post_type' => 'zpravy', 'posts_per_page' => 10 ); $loop = new WP_Query( $args ); $counter = 0; while ( $loop->have_posts() ) : $loop->the_post(); ?> <div class="odsun"><a href="<?php the_permalink(); ?>"> <?php the_title(); ?></a> </div> <a href="<?php the_permalink(); ?>"> <img src="<?php the_field('obrazek_01') ?>" alt="" class="logo"></a> <?php the_content();?> <?php $counter++; if ($counter % 1 == 0) { echo '</div><div class="col-6 no">'; } ?> <?php endwhile; ?>
Но у меня сейчас другу вопрос. Можете мне объяснить, как работает этот код? Что он обозначает?
$counter = 0 и $counter++; if ($counter % 1 == 0)
Ну да: через счетчик.
Я смотрю, вы отсчитываете колонки.
Я отсчитывал РЯДЫ:
3 строка снизу (echo '</div>';) - закрывающий тег в виде последнего ПУСТОГО ряда. Как видите, этот код позволяет произвольно менять количество колонок. Ну и в ряде случаев использование "гвоздями прибитой сетки" (col--) проще.
В моем примере if($i % $columns_num == $columns_num - 1 ) по-русски будет так:
Если значение счетчика разделить на количество колонок будет на 1 меньше количества колонок, (открывать новый ряд) И ПОСЛЕ этого добавлять счетчик.
В вашем - что-то сам понять не могу: Исходное значение счетчика=0 ПО циклу - прибавляется 1. Если значение = 0 - новая колонка. По-моему, это очень странно. Но работает же...
Большое спасибо за ответ .
Правильно я понимаю ваше решение?
Счетчик 0,1,2,3,4,5 - то есть цифра 5 это 6 колонка.
5%6 == 6-1 =>5=5 открываeт новый ряд.
А почему работает мой код я не могу понять.
Совершенно верно. Если использовать 4 бутрап с его флексами, то можно исключить пункт echo '<div class="col-md-' . 12 / $columns_num . '">';. там просто col ставим и всё. Получается православно чуть более чем полностью.