列出文章,突出显示当前文章

Avatar of Chris Coyier
Chris Coyier

WordPress 缺少一个看起来很合理的 `wp_list_posts()` 函数,它可以与强大且实用的 `wp_list_pages()` 函数配合使用。不过,您可以使用 get_posts() 函数并遍历结果来模拟它。

下面 `get_posts()` 的参数仅为示例,请根据您的需求进行替换。

<ul>

    <?php
        $lastposts = get_posts('numberposts=5&orderby=rand&cat=-52');
        foreach($lastposts as $post) :
        setup_postdata($post); ?>

        <li<?php if ( $post->ID == $wp_query->post->ID ) { echo ' class="current"'; } else {} ?>>
            
            <a href="<?php the_permalink() ?>"><?php the_title(); ?></a>
            
        </li>

    <?php endforeach; ?>

</ul>

`wp_list_pages()` 还具有在该页面为活动页面时向列表元素添加 “current_page_item” 类名的功能。请注意上面的打开列表标签,它通过查看当前查询的 ID 是否与循环当前迭代的 ID 匹配来复制该功能。