首页 视频课程 WordPress开发文档文章循环输出与重置 原则与重置

原则与重置

2020-04-03 / 5392阅

本视频需要登录以后才能播放

登录

WordPress允许按照文章的状态查询文章,参数如下:

有关文章状态的查询。文章状态指的是文章当前处于什么情况,比如 “已发布”、“草稿”、“待审核” 和 “定时发布” 等等,文章状态是可以由主题或者插件开发者扩展的。 关于文章状态可以使用一个参数:

post_status(字符串 | 数组):文章的状态,一般默认都是 publish(已发布) 

按照状态查询具体方法

获取一个状态的文章 获取草稿文章:
$query = new WP_Query( 'post_status=draft' ); 
获取多个状态的文章 获取多个状态下的文章:
$query = new WP_Query( array( 'post_status' => array( 'pending', 'draft', 'future' ) ) ); 
获取全部状态的文章:
$query = new WP_Query( 'post_status=any' ); 

查询分页的方法

要对查询的结果进行分页,有以下几个参数

nopaging(布尔):将文章分页还是全部获取。默认是 False:分页
posts_per_page(整数):每页显示多少文章,如果设置成 –1 则不分页
posts_per_archive_page(整数):和 posts_per_page 是一样的,不过这个只有在当前查询是根据存档或是搜索的情况下才生效
offset(整数):偏移值,从第几篇文章开始
paged(整数):页码,指定文章分页的当前页
page(整数):静态首页的页码
ignore_sticky_posts(布尔):是否忽略指定文章,要忽略置顶文章可以设置成 True,默认是 False 
设置每页文章数 设置每页的文章数量为 3 篇文章:
$query = new WP_Query( 'posts_per_page=3' ); 
显示全部文章 获取全部文章,不分页(方法一):
$query = new WP_Query( 'nopaging=1' ); 
获取全部文章,不分页(方法二):
$query = new WP_Query( 'posts_per_page=-1' ); 
偏移 从第 4 个文章开始获取
$query = new WP_Query( 'offset=3' ) ); 
每页 5 篇文章,而但向前移位 3 篇:
$query = new WP_Query( array( 'posts_per_page' => 5, 'offset' => 3 ) ); 
获取第 N 页文章 获取第 6 页的文章:
$query = new WP_Query('paged=6' ); 
获取当前页文章:
$query = new WP_Query( array( 'paged' => get_query_var( 'paged' ) ) ); 

以下分页代码能够保证分页的准确性,建议每次都使用

获取当前页文章,如果没有指定页码则默认第一页:
$paged = ( get_query_var('paged') ) ? get_query_var('paged') : 1;
$query = new WP_Query( array( 'paged' => $paged ) ); 
置顶文章 获取第一篇置顶文章:
$sticky = get_option( 'sticky_posts' );
$query = new WP_Query( 'p=' . $sticky[0] ); 
获取第一篇置顶文章,如果没有置顶文章则获取一篇最新的文章:
$args = array(
    'posts_per_page'      => 1,
    'post__in'            => get_option( 'sticky_posts' ),
    'ignore_sticky_posts' => 1,
);
$query = new WP_Query( $args ); 
排除置顶文章 排除全部置顶文章:
$query = new WP_Query( array( 'post__not_in' => get_option( 'sticky_posts' ) ) ); 
忽略指定文章的置顶性,在循环里按正常排序出现:
$query = new WP_Query( 'ignore_sticky_posts=1' ); 

阅读文章或者观看视频过程中有任何问题,请下方留言或者联系我Q248758228

大家谈论
    我的见解
    目录