在“循环”中,检测一个帖子是否是最新的

时间:2011-05-03 作者:Avisra

在WordPress的“循环”中,是否有一种简单的方法可以检测帖子是否是最新的?一个用法示例:我想让第一篇文章的标题输出为H1,而不是H2。或者,我希望第一篇文章显示缩略图(而不是其余部分)。

下面是我试图理解的一些伪代码:

        if (have_posts()):
            while (have_posts()):
                the_post();
                the_excerpt();
                if(is_most_recent()):
                    // do this
                endif;
            endwhile;
        endif;

3 个回复
最合适的回答,由SO网友:kaiser 整理而成

除了@Milo Answer(这避免了无意义的查询,因为我们已经从当前的wp\\u查询中获得了所有需要的信息):

if ( have_posts() ) : 
    while ( have_posts() ) : the_post();
        $headline_html_tag = $GLOBALS[\'wp_query\']->current_post === (int) 0 && $GLOBALS[\'paged\'] === (int) 1 ? \'1\' : \'2\';
        the_title( \'<h\'.$headline_html_tag.\'><a href="\'.get_permalink().\'" title="\'.the_title_attribute( array( \'before\' => \'Permalink to: \', \'after\' => \'\', \'echo\' => false ) ).\'">\', \'</a>\'.\'</h\'.$headline_html_tag.\'>\', false );
    endwhile; 
endif;

SO网友:Chip Bennett

尝试使用get_posts()? Codex ref

e、 g.:

function is_latest_post() {
    $latestpost = get_posts ( array(
        \'numberposts\' => 1
    ) );
    $latestpost = $latestpost[0];
    $is_latest = ( $latestpost->ID == get_the_ID() ? true : false );
    return $is_latest;
}
(必须在循环中使用。)

SO网友:Jonny Green

更简单的方法是检查是否有下一个帖子。如果不是,我们可以假设这是最新的。。。

$nextPost = get_next_post();
if (empty($nextPost)) {

//This is the latest post

} else { 

//This is not the latest post

}

结束

相关推荐

函数中的Query_Posts()是否使全局$wp_Query不同步?

这已经让我困惑了一段时间。要么我错过了一些非常明显的东西,要么我错过了一些非常不明显的东西。我也不完全确定这是否与工作中的WP或纯粹的PHP机制有关。function test() { global $wp_query; var_dump($wp_query == $GLOBALS[\'wp_query\']); } function test2() { global $wp_query; &#