2014-02-16 4 views
0

Я хочу добавить другой макет для первого сообщения. Это 100% ширина, а ниже остальных 50% (две колонки).Лучший способ сделать этот цикл в WordPress

Я использую Bootstrap, это HTML:

<div class="col-sm-9"> 

<article></article> 

<div class="row"> 

<div class="col-sm-6"> 
<article></article> 
</div> 

<div class="col-sm-6"> 
<article></article> 
</div> 

<div class="col-sm-6"> 
<article></article> 
</div> 

<div class="col-sm-6"> 
<article></article> 
</div> 

</div> 

</div> 

Я знаю два способа для достижения этой цели: сделать две петли. В первом вызове первый пост, а во втором цикле - остальные. Или сделайте только один цикл и используйте счетчик, как в этом question.

Но какая будет лучшая практика? Есть ли причина делать то или другое?

+0

Используйте второе решение (счетчик). –

ответ

1

Чем больше циклов вы делаете, тем больше ваша сложность. Цикл внутри цикла делает ваш код менее оптимизированным. Используйте счетчик, он не учитывает сложность. Это просто переменная. Во-вторых, да для проверки каждого условия, например, if, он должен выполнить некоторую работу, но если вы используете цикл, как вы знаете, в цикле также выполняется несколько проверок условий.

0

вот код

<?php 
    if(have_posts()) : 
     $counter = 0; 
     while(have_posts()) : the_post(); 
     $counter++; 
?> 
     <?php if($counter == 1) { ?> 
      <div class="col-sm-9"> 

       <article></article> 
      <?php } ?> 

      <?php if($counter ==2) { ?> 
       <div class="row"> 
        <div class="col-sm-6"> 
         <article></article> 
        </div> 
      <?php } else { ?> 
        <div class="col-sm-6"> 
         <article></article> 
        </div> 
      <?php } ?> 
     <?php endwhile; ?> 
       </div> 
      </div> 
    <?php endif; ?> 

вы также можете сделать это с rewind_posts(), хотя, если вы хотите чистый код http://codex.wordpress.org/Function_Reference/rewind_posts

Смежные вопросы