具有不同类的帖子的无序列表

时间:2012-01-21 19:05:08

标签: wordpress

我想用一个类别的最后3个帖子创建一个无序列表,每个LI都有一个不同的类。

到目前为止,这是我的代码:

<?php query_posts('cat=3'); ?>
    <?php while(have_posts()) : the_post(); ?>
        <li>
            <strong><?php the_title(); ?></strong>
            <br />
            <?php the_content(); ?>
        </li>
    <?php endwhile; ?>
<?php wp_reset_query(); ?>

请教我如何为每个LI添加不同的课程。例如,我希望有红色,蓝色和棕色的类名。

2 个答案:

答案 0 :(得分:2)

您可以对所有帖子使用以下代码,特殊类:

<li class="myspecialclassname_<?php the_ID(); ?>">

或者例如,您可以使用计数器作为有序彩色列表:

<?php 
    function get_color($id) { 
        if ($id%3 == 0){return "red";} 
        else if ($id%3 == 1){return "blue";} 
        else if ($id%3 == 2){return "brown";} 
    }
?>
<?php query_posts('cat=3'); ?>
<?php $counter = 0; ?>
    <?php while(have_posts()) : the_post(); ?>
        <li class="<?php get_color($counter++); ?>">
            <strong><?php the_title(); ?></strong>
            <br />
            <?php the_content(); ?>
        </li>
    <?php endwhile; ?>
<?php wp_reset_query(); ?>

答案 1 :(得分:0)

您只需要一个方法来返回用于li元素的类。假设你的css中有一个红色,蓝色和棕色的类,你可以这样做:

<?php 
query_posts('cat=3');
$elt_count = 0;
while(have_posts()) : 
    the_post();
    $elt_count++;
?>
    <li class="<?php get_class_for_li_elt($elt_count); ?>">
         <strong><?php the_title(); ?></strong>
         <br />
         <?php the_content(); ?>
    </li>
<?php endwhile; ?>
<?php wp_reset_query(); ?>

使用medhod get_class_for_li_elt($elt_count)返回元素#1的红色,蓝色表示元素#2,棕色表示元素#3。