WordPress первый пост для категории - PullRequest
0 голосов
/ 23 марта 2012

Привет, я пытаюсь получить первый пост из категории 5 и сделать два разных класса. Но все мои посты получают класс «обычный», я хочу, чтобы в первом посте (только в первом посте) был класс «выделен», а в остальных - класс «обычный», не могу понять, что не так. HALP! :) О, кстати, код работает, если я удаляю первую строку кода, но затем он получает все сообщения из всех категорий: /

   <?php query_posts('cat=5');
    while (have_posts()) : the_post(); ?>

    <?php if (is_paged()) : $postclass = ('regular'); ?>
    <?php else : ?>
    <?php $postclass = ($post == $posts[0]) ? 'featured' : 'regular'; ?>
    <?php echo $postclass; ?>   
   <?php endif; ?>
    <?php endwhile ?>

1 Ответ

0 голосов
/ 23 марта 2012

Почему бы не попробовать установить $postclass на "Featured" вне вашего цикла, а после того, как оно отобразится, установите его на "обычный"?

Внесение небольших изменений в ваш код без изменения логики:

<?php 
query_posts('cat=5');
$postclass = 'featured';
while (have_posts()) : the_post();

    if (is_paged()) : 
        $postclass = 'regular';
    else :
        echo $postclass;
        $postclass = 'regular';
    endif;
endwhile
?>

Или, если для вас это не имеет смысла, как насчет использования логического значения?

<?php 
query_posts('cat=5');
$first = true;
while (have_posts()) : the_post();

    if (is_paged()) : 
        $postclass = 'regular';
    else :
        $postclass = $first ? 'featured' : 'regular';
        echo $postclass;
        $first = false;
    endif;
endwhile
?>
...