Я изменил ваш код, он выглядит довольно много, но это потому, что мне пришлось создать массив для имитации данных, которые вы получаете.
//create an array that contains the column sizes we want in order
<?php $gridLayoutConfig = array("col-md-12", "col-md-8", "col-md-4", "col-md-3", "col-md-3", "col-md-3"); ?>
//here I am simulating data since I dont have your data
<?php $posts = array(
array("title" => "Mean Streets", "name" => "Meaner Streets", "created_at" => "0000"),
array("title" => "Mean Streets 2", "name" => "Meaner Streets 2" , "created_at" => "0000"),
array("title" => "Mean Streets 3", "name" => "Meaner Streets 3", "created_at" => "0000"),
array("title" => "Mean Streets 4", "name" => "Meaner Streets 4", "created_at" => "0000"),
array("title" => "Mean Streets 5", "name" => "Meaner Streets 5", "created_at" => "0000"),
array("title" => "Mean Streets 6", "name" => "Meaner Streets 6", "created_at" => "0000")
); ?>
<?php $i = 0; ?>
//create container row outside the foreach
<?php echo "<div class='row'>"; ?>
<?php foreach($posts as $post) : ?>
//set divs class to whatever count is currently (0 = "col-md-12", 1 = "col-md-8")
//divide count by how many entries in our gridLayoutConfig by whatever $i that means when we reach the last array entry $i % count($gridLayoutConfig) roll back around to equal 0 starting the layout again.
<?php echo '<div class="'.$gridLayoutConfig[$i % count($gridLayoutConfig)].'">' ?>
<h3><?php echo $post['title']; ?></h3>
<small class="post-date">Posted on: <?php echo $post['created_at']; ?> in <strong>
<?php echo $post['name']; ?></strong></small>
</div>
<?php $i++; ?>
<?php endforeach; ?>
<?php echo "</div>"; ?>
Также добавлен PHPFiddle для лучшей демонстрации открытия ссылки нажмите F9чтобы запустить, проверьте инспектора, и вы увидите, что у каждого div есть правильный класс, который он не будет отображать должным образом в скрипте, поскольку в него не включен загрузчик, но он должен нормально работать на вашей собственной странице.
http://phpfiddle.org/main/code/aei9-tw86
Вы видите в скрипте php, когда мы дойдем до «Mean Streets 7», $ gridLayoutConfig снова начинается с начала ($ gridLayoutConfig [0]) и повторяет шаблон.