WordPress get_posts()函数

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()的详细介绍和使用方法举例。