我们在制作或者修改wordpress主题时,调用置顶文章是不和或缺的一项功能。wordpress调用置顶文章用到两个重要函数:
1、is_sticky() :
判断文章是否置顶
2、get_option(‘sticky_posts’):
获取置顶文章id,包含所有置顶文章id的数组
用query_post调用置顶文章的具体解释:
‘post__in’ => get_option(‘sticky_posts’), //在置顶文章中调取文章 ‘posts_per_page’ => 5, //获取五篇置顶文章 ‘ignore_sticky_posts’ => 1 //默认值为0,不排除置顶文章
若是想排除置顶文章外的其余文章用
‘post__not_in’ => get_option(‘sticky_posts’),
这样就可以在调用列表时排除置顶文章
用wp_query调用置顶文章
和上面的方法有点类似
<?php $args = array( 'posts_per_page' => -1, 'post__in' => get_option( 'sticky_posts' ) ); $sticky_posts = new wp_query( $args ); while ( $sticky_posts->have_posts() ) : $sticky_posts->the_post();?> <li> <a href="<?php%20the_permalink()%20?>"><?php the_title(); ?></a> </li> <?php endwhile; wp_reset_query();?>
只显示置顶文章排除其他文章
那么用is_sticky()判断即可。
<?php $args = array( 'posts_per_page' => -1, 'post__in' => get_option( 'sticky_posts' ) ); $sticky_posts = new wp_query( $args ); while ( $sticky_posts->have_posts() ) : $sticky_posts->the_post(); if(is_sticky()){ ?> <li> <a href="<?php%20the_permalink()%20?>"><?php the_title(); ?></a> </li> <?php } endwhile; wp_reset_query();?>