在分类帖子存档中,我想显示最后10篇帖子和1篇特色帖子(特色帖子仅在第一页)。我可以选择首先显示的特色帖子(用户可以手动选择,其自定义字段称为“category\\u featured\\u post”)。现在,如果特色帖子与列表中显示的帖子相同,那么它将加倍(在特色位置和列表上)。我可以在列表中隐藏这篇文章(如果它显示在显示特色文章的第一页上),但现在列表中将有9篇文章,而不是10篇。在这种情况下,我如何显示10篇帖子?
自定义字段category_featured_post
在类别上,它是一个返回单个帖子ID的帖子对象。
以下是我现在掌握的代码:
<!-- DISPLAY FEATURED POST (ONLY ON FIRST PAGE) IN BIG TILE -->
<?php
if ( !is_paged() ) :
$post = get_post($featured_post);
?>
<div class="tile">
<h3><?php the_title(); ?></h3>
<p><?php the_excerpt(); ?></p>
<a href="<?php echo the_permalink(); ?>">Read post</a>
</div>
<?php
endif;
?>
<!-- DISPLAY POSTS IN LIST -->
<?php
if (have_posts()){
while(have_posts()){
the_post();
// DON\'T DISPLAY POST IF IT\'S FEATURED
if(get_the_ID() != $featured_post ){
get_template_part(\'template-parts/post/content\',\'archive\');
}
}
}
?>
最合适的回答,由SO网友:mikolaj 整理而成
感谢liquidRock和StudioAl提供的解决方案!
Exclude post from query:
\'post__not_in\' => array( $featured_post_id )