get_posts()是WordPress用来获取最新或指定条件的文章列表的一个经典函数,还有一个和它长的很想的一个函数get_post(),不过get_post()是获取指定的单篇文章信息,而get_posts()是它的复数形式,可以获取到多篇文章。
函数基本使用
get_posts(array $ args = null )
函数参数详细说明
'numberposts' => 10, //获取的文章数量,此例中显示的是10篇文章 'offset' => 0, //从默认顺序里的第几篇文章开始获取,默认是0,就是从头开始,如果要从第二篇,就可以将此参数修改成为1,这个参数适用于文章分列,或者首篇文章不同于其他文章显示 'category' => , //分类的ID,多个用逗号将分类编号隔开,用来指定显示某个分类的文章,此项目对CMS主题来讲是精华 'orderby' => 'post_date', //排序规则,此例为按照时间顺序,默认也是时间顺序 'order' => 'DESC', //'ASC'升序,'DESC' 降序 'include' => , //获取要显示文章的ID,多个用顿号分开 'exclude' => , //排除文章的ID,多个用顿号分开 'meta_key' => , //自定义字段名称 'meta_value' => , //自定义字段的值 'post_type' => 'post', //获取的类型,比如文章或者页面 'post_mime_type' => , //文章的 mime 类型 'post_parent' => , //要显示文章的父级 ID 'post_status' => 'publish' //文章状态
函数使用实例
<?php $args = array( 'numberposts' => 5, 'category' => 1, ); $posts_array = get_posts( $args ); ?>
也可以使用下面的格式
$posts_array = get_posts('numberposts=5&category=1');
查询出来的文章数据再通过foreach循环输出即可,比如
<?php foreach( $posts_array as $post ) :?> <li> <span> <?php the_time('m-d') ?> </span> <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"> <?php the_title(); ?> </a> </li> <?php endforeach; ?>
变量参数详解
上面介绍了默认的数组中的类型,其中比较重要的是排序,即orderby。Wordperss官方给出的参数是以下这些:
‘author’ —— 按作者数值编号排序 ‘category’ —— 按类别数值编号排序 ‘content’ —— 按内容排序 ‘date’ —— 按创建日期排序 ‘ID’ —— 按文章编号排序 ‘menu_order’ —— 按菜单顺序排序。仅页面可用。 ‘mime_type’ —— 按MIME类型排序。仅附件可用。 ‘modified’ —— 按最后修改时间排序。 ‘name’ —— 按存根排序。 ‘parent’ —— 按父级ID排序 ‘password’ —— 按密码排序 ‘rand’ —— 任意排序结果 ‘status’ —— 按状态排序 ‘title’ —— 按标题排序 ‘type’ —— 按类型排序 ‘comment_count’ —— 依评论数排序
其他参考请参考https://www.myit66.com/12385.html
实例刚我们讲到用数组去传参,当然我们也可以用字符串来给该函数传参,下面给一个简单的例子。
需要注意的是,如果单纯想要用升序或者降序,只使用Order函数即可。orderby这个函数的值不可以等于desc或者asc,那样会报错。
下面几个简单的例子,帮大家理解Get_Posts()函数。
//显示随机的3篇文章
<?php $posts_rand = get_posts('numberposts=3&orderby=rand'); ?>
//时间顺序从早到晚显示10篇文章
<?php $posts_ten = get_posts('numberposts=10&order=asc'); ?>
//显示10篇文章,但是排除分类序号为12的文章
<?php $posts_excupost = get_posts('numberposts=10&order=asc&exclude=12'); ?>
以上就是本文关于WordPress获取文章列表函数get_posts()的详细介绍和使用方法举例。