我正在显示我主页上最近三篇新闻文章的预览。最新帖子将以与第二和第三个最新帖子不同的格式显示。 我目前正在使用以下代码显示所有三个相同的
<?php query_posts('cat=2 && showposts=3');
if (have_posts()) : while (have_posts()) : the_post(); ?>
<div class="col-xs-12 col-sm-4">
<div class="column">
<div class="news-article">
<p class="news-date"><?php the_time( get_option( 'date_format' ) ); ?></p>
<a href="<?php the_permalink(); ?>">
<?php if ( has_post_thumbnail() ) { the_post_thumbnail('full', array( 'class' => 'img-responsive img-rounded news-img' )); } ?>
<p class="news-headline"><?php the_title(); ?></p>
</a>
<p><?php the_excerpt(); ?></p>
<a href="<?php the_permalink(); ?>">
<p class="pull-right">Read more...</p>
</a>
<span class="clearfix"></span>
</div>
</div>
</div>
<?php
endwhile;
endif;
?>
如何添加另一个循环,将最新帖子中的第二个和第三个帖子分开? 我不想使用postID,因为帖子会改变。
答案 0 :(得分:1)
下面的WP_Query函数中的两个参数组合起来以获取最近的第二个帖子,然后下面的HTML显示该帖子。
<div class="video-message">
<p>
<ul>
<!-- // Define our WP Query Parameters -->
<?php
$the_query = new WP_Query( array( 'posts_per_page' => 1,'offset' => 1 ) );
?>
<!-- // Start our WP Query -->
<?php while ($the_query -> have_posts()) : $the_query -> the_post(); ?>
<!-- // Display the Post Title with Hyperlink -->
<p><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></p>
<?php
endwhile;
wp_reset_postdata();
?>
</ul>
</p>
</div>
</div>
要显示最近的第三条帖子,需要将偏移量值更改为2,以便程序跳过两个最新的帖子。
$the_query = new WP_Query( array( 'posts_per_page' => 1,'offset' => 2 ) );
在WordPress代码参考的Pagination Parameters section中讨论了此方法。
答案 1 :(得分:0)
未经测试但您可以尝试:
<?php
$count = 0;
query_posts('cat=2 && showposts=3');
if (have_posts()) : while (have_posts()) : the_post();
if($count == 0)
{
?>
<div class="col-xs-12 col-sm-4">
<div class="column">
<div class="news-article">
<p class="news-date"><?php the_time( get_option( 'date_format' ) ); ?></p>
<a href="<?php the_permalink(); ?>">
<?php if ( has_post_thumbnail() ) { the_post_thumbnail('full', array( 'class' => 'img-responsive img-rounded news-img' )); } ?>
<p class="news-headline"><?php the_title(); ?></p>
</a>
<p><?php the_excerpt(); ?></p>
<a href="<?php the_permalink(); ?>">
<p class="pull-right">Read more...</p>
</a>
<span class="clearfix"></span>
</div>
</div>
</div>
<?php
$count = 1;
}
else
{
//Some other layout here
}
endwhile;
endif;
?>
以上内容将检查$count
是0
是否为1
,如果是,则进行布局,然后计数将等于$count
。因此,下一次else
赢得0时,它将运行{{1}}中的内容(这将是您的布局)。
答案 2 :(得分:0)
我像这样使用 WP_Query 来显示第四个最近的所有帖子:
<?php
$query4 = new WP_Query( 'posts_per_page=4&offset=3' );
?>