仅显示查询中第一篇帖子的摘录

时间:2014-06-27 作者:justinw

我只想在我的主要查询中显示第一篇文章的摘录。我想知道最好的方法。

到目前为止,我尝试的是:

制作一个自定义主页并使用两个查询,一个查询返回带有摘录的1篇文章,另一个查询返回没有摘录的文章仅使用默认查询,但使用css隐藏除第一篇以外的所有帖子的摘录,使用nth-child.

谢谢

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

您可以使用$wp_query->current_post 在循环中检查当前帖子。你不需要两个循环,如果你只需要第一篇文章的摘录,一个就可以了,你可以这样做。记住,循环中的第一个帖子是0, 而不是1

if ( !$wp_query->current_post > 0 ) :
   the_excerpt();
else :
   <--- DO SOMETHING ELSE FOR OTHER POSTS
endif;
对于所有WP_Post 成员变量,检查codex提供的链接

SO网友:Arkuen

你可以用计数器设置。使用默认循环作为示例:

<?php
  $firstExcerpt = 0; // Set the variable to 0 so we can check for it later.
  if ( have_posts() ) : while ( have_posts() ) : the_post();
?>

  <h2><?php the_title(); ?></h2>
  <?php
    if ($firstExcerpt < 1) { // Check if it\'s been displayed
      the_excerpt();
      $firstExcerpt++; // Changes the variable so that next time, it won\'t show
    };
  ?>

<?php endwhile; endif; ?>

SO网友:Pat J

那么简单的事情呢,比如:

$i = 1;
if( have_posts() ) {
    while( have_posts() ) {
        the_post();
        if( 1 == $i ) {
            the_excerpt();
        }
       // the rest of your loop
       $i++;
    }
}

结束