Как вывести три поста в строке (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)

Ну да: через счетчик.
Я смотрю, вы отсчитываете колонки.
Я отсчитывал РЯДЫ:
<?php $columns_num = 6; // The number of columns we want to display our posts $i = 0; //Counter for .row divs $args = array( 'post_status' => 'publish', 'posts_per_page' => -1, 'ignore_sticky_posts' => true ); $my_query = null; $my_query = new WP_Query( $args ); echo '<div class="row">'; /* Start the Loop */ while ( have_posts() ): the_post(); echo '<div class="col-md-' . 12 / $columns_num . '">'; ?> <?php get_template_part( 'singlecard-first' ); //это подключается описание отдельной карточки ?> <?php echo '</div>'; if($i % $columns_num == $columns_num - 1 ) { echo '</div> <div class="row">'; } $i++; endwhile; echo '</div>'; wp_reset_query(); ?>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 ставим и всё. Получается православно чуть более чем полностью.