在页面上突出显示当前帖子标题

时间:2014-02-11 作者:wpuser

在我的菜单中,有一个页面称为Campaign.

当用户输入到Campaign 页面显示最后一个自定义帖子类型campaign-post.

在的侧栏中Campaign 第页,我正在显示所有campaign-post 自定义帖子。

问题是我不知道如何突出显示(添加current 类)到用户输入时显示的列表中的最后一个帖子标题Campaign

以下是我显示列表的方式:

<ul class="post-list">
    <?php $query = new WP_Query( array( \'post_type\' => \'campaign-post\' ) );         
        while ( $query->have_posts() ) : $query->the_post();
        echo \'<li><a href="\';
        the_permalink();
        echo \'">\';
        the_title();
        echo \'</a></li>\';
    endwhile; ?>
</ul>
有什么想法吗?

2 个回复
最合适的回答,由SO网友:Sudeep K Rana 整理而成

这很简单:你应该使用$wp_query->current_post 检索自定义查询的索引。

在您的情况下,查询的工作方式如下:

<ul class="post-list">
    <?php $query = new WP_Query( array( \'post_type\' => \'campaign-post\' ) );         
    while ( $query->have_posts() ) : $query->the_post();
            if($query->current_post == 0){
        ?>
            <h1 class="current"><?php the_title(); ?></h1>
        <?php
        }
        else{   
        ?>
            <h1 class="normal"><?php the_title(); ?></h1>
        <?php
        }
     endwhile; ?>
</ul>
您可以根据自己的需要进行更多的定制。

它是如何工作的?您可能已经注意到,有一个while循环,它一个接一个地处理结果(从查询中检索到的帖子)。如果我们知道这是第一篇文章,那么我们可以使用If-else结构对其进行提取和自定义。幸运地$wp_query->current_post 告诉我们有关post索引的信息。

你也可以这样做:更多的定制。

已编辑代码:

if($query->current_post == 0){
    ?>
        <h1 class="current"><?php the_title(); ?></h1>
    <?php   
    }
    elseif ($query->current_post == 1){
?>
    <h2 class="second-post"><?php the_title(); ?></h2>
<?php
    }
    else{
    ?>
        <h3 class="rest-posts"><?php the_title(); ?></h3>
    <?php

    }

SO网友:iyrin

使用:last-child 样式中的选择器。css仅设置post list类中找到的最后一个列表标记的样式。

ul.post-list li:last-child {
/* This styling should only affect the last <li> tag in the list*/
}

结束

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post