在 WordPress 循环中排除置顶文章

上天赐予了你宝贵的生命,必定要让你在一生中,坚持,奋斗到最后一秒,燃烧尽生命的火焰。

WordPress 默认会在循环(Loop)中显示置顶文章,但是在主题开发中,也许为了布局需求,你需要在 WordPress 循环中排除置顶文章。

取消置顶,按普通方式输出文章

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$args = array(
	'posts_per_page' => 10, //每页显示10篇文章
	'ignore_sticky_posts' => 1 //取消文章置顶
);
$the_query = new WP_Query( $args );
if ( $the_query->have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post();

//在这里插入循环内部代码

endwhile; //结束while
endif; //结束if
?>

<?php $args = array( 'posts_per_page' => 10, //每页显示10篇文章 'ignore_sticky_posts' => 1 //取消文章置顶 ); $the_query = new WP_Query( $args ); if ( $the_query->have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post(); //在这里插入循环内部代码 endwhile; //结束while endif; //结束if ?>

'ignore_sticky_posts' => 1 就是关键参数,取消文章置顶(即不在顶部显示),按照普通方式输出文章

彻底排除置顶文章,不输出

1
2
3
4
5
6
7
8
9
<?php
$the_query = new WP_Query( array( 'post__not_in' => get_option( 'sticky_posts' ) ) );
if ( $the_query->have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post();

//在这里插入循环内部代码

endwhile; //结束while
endif; //结束if
?>

<?php $the_query = new WP_Query( array( 'post__not_in' => get_option( 'sticky_posts' ) ) ); if ( $the_query->have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post(); //在这里插入循环内部代码 endwhile; //结束while endif; //结束if ?>

'post__not_in' => get_option( 'sticky_posts' ) 是关键参数,彻底排除置顶文章(凡是置顶文章都不输出)。假如你在已经在首页的其他地方(比如幻灯中)显示了置顶文章,那么,接下来的主循环中排除置顶文章,这样就可以避免重复显示。

更多示例,可以参考 WP_Query#Pagination_Parameters 一节。

到此这篇关于在 WordPress 循环中排除置顶文章就介绍到这了。遇到挫折的时候,不要消极对待,要积极对待,一定要心宽,做到心宽不容易的。越消沉越就高中生作文不起身来。人生不要有太多计较,要向前走,要相信一年比一年好。更多相关在 WordPress 循环中排除置顶文章内容请查看相关栏目,小编编辑不易,再次感谢大家的支持!

您可能有感兴趣的文章
WordPress站点Gravatar头像前后台不显示的如何解决办法

WordPress主题需要支持https吗?WordPress站点如何如何实现https?

WordPress站点的页面/标签/分类URL地址如何添加.html?

WordPress站点更换了域名后数据库应该如何操作替换新旧域名?

WordPress安装在主机空间的什么目录里面?根目录在哪里?