Различные результаты для каждого оператора Foreach? - PullRequest
0 голосов
/ 15 февраля 2012

В настоящее время я использую следующий код, чтобы получить подкатегории на странице категории и получить пост подкатегории foreach. В той части, где он повторяет «span-12» (строка 14), я хочу, чтобы он повторял «span-12 last» для любой другой подкатегории.

мой код:

<?php  $cats = get_categories('child_of='.get_query_var('cat')); 

foreach ($cats as $cat) :

$args = array(
'orderby' => 'title',
'order' => 'ASC',
'posts_per_page' => -1, // max number of post per category
'category__in' => array($cat->term_id)
);
$my_query = new WP_Query($args); 

    if ($my_query->have_posts()) : 
    echo '<div id = "seasonBlock" class = "span-12" >';
    echo '</br><h3 class = "seasonTitle" >'.$cat->name.'</h3>';

    while ($my_query->have_posts()) : $my_query->the_post(); ?>     
    <?php /*general loop output; for instance: */ ?>
    <div id = "episodeBlock" >
    <a href="<?php the_permalink() ?>"><?php the_title(); ?></a>  
    aired <?php if(!function_exists('how_long_ago')){the_time('F jS, Y'); } else { echo how_long_ago(get_the_time('U')); } ?><br />  
    </div>
    <?php endwhile; ?>
    </div>
    <?php else : 
    echo 'No Posts for '.$cat->name;                
    endif; 
wp_reset_query();

endforeach; ?>

В этой части (строка 14)

 echo '<div id = "seasonBlock" class = "span-12" >';

я хочу повторить для каждой другой категории foreach, я хочу, чтобы она повторяла вот так

 echo '<div id = "seasonBlock" class = "span-12 last" >';

Я нашел некоторый код для добавления и проверки, если он нечетный, но, похоже, он не работает для этого кода.

Ответы [ 2 ]

1 голос
/ 15 февраля 2012

Использовать логическую переменную. В конце каждой итерации цикла установите его в противоположное значение:

//pseudo code
if (b) 
    outputFirst();
else 
    outputSecond();
b = !b;
0 голосов
/ 15 февраля 2012

Вы можете использовать модификаторы css: first-child и: last-child, чтобы выполнить то, что вы хотите, используя только css.

Смотрите это: http://www.quirksmode.org/css/firstchild.html

...