get_posts 函数,简单的来讲是 get_post 的复数新形势,但因为是文章多篇提取,所以使用方法上却略有不同,支持众多参数选择需要提取的文章,在 CMS 主题中经常被用到,当然如果你对 WordPress 有更深了解的话,你也有可能是用 WP_Query 来替代该函数,这就是后话了,今天主要介绍一下 get_posts 函数。

get_posts 函数详解

该函数属于 WordPress 的内置函数,用于在 WordPress 中提取多篇指定或随机文章。
越是描述简单的函数,使用起来就越是复杂,后面的需要仔细看咯!

使用方法

<?php
$args = array(
'numberposts' => 5,
'offset' => 0,
'category' => ,
'orderby' => 'post_date',
'order' => 'DESC',
'include' => ,
'exclude' => ,
'meta_key' => ,
'meta_value' => ,
'post_type' => 'post',
'post_mime_type' => ,
'post_parent' => ,
'post_status' => 'publish' );
$posts_array = get_posts( $args );
?>

$args是该函数必要的变量
get_posts( $args )将返回数组型的变量。

变量参数详解

<?php
$args = array(
//需要提取的文章数
'numberposts' => 10, //以第几篇文章为起始位置
'offset' => 0, //分类的ID,多个用逗号将分类编号隔开,或传递编号数组,可指定多个分类编号。
//大部分 CMS 使用该函数的重点。
'category' => , //排序规则(注1)
'orderby' => 'post_date', //升序、降序 'ASC' —— 升序 (低到高) 'DESC' —— 降序 (高到底)
'order' => 'DESC', //要显示文章的ID
'include' => , //要排除文章的ID
'exclude' => , //自定义字段名称
'meta_key' => ,
//自定义字段的值,配合上一个参数,来选择显示符合自定义字段数值的文章。
'meta_value' => , //post(日志)——默认,page(页面),
//attachment(附件),any —— (所有)
'post_type' => 'post', //文章的 mime 类型
'post_mime_type' => , //要显示文章的父级 ID
'post_parent' => , //文章状态
'post_status' => 'publish' );
?>
注1:
‘author’ —— 按作者数值编号排序
‘category’ —— 按类别数值编号排序
‘content’ —— 按内容排序
‘date’ —— 按创建日期排序
‘ID’ —— 按文章编号排序
‘menu_order’ —— 按菜单顺序排序。仅页面可用。
‘mime_type’ —— 按MIME类型排序。仅附件可用。
‘modified’ —— 按最后修改时间排序。
‘name’ —— 按存根排序。
‘parent’ —— 按父级ID排序
‘password’ —— 按密码排序
‘rand’ —— 任意排序结果
‘status’ —— 按状态排序
‘title’ —— 按标题排序
‘type’ —— 按类型排序

实例

刚我们讲到用数组去传参,当然我们也可以用字符串来给该函数传参,下面给一个简单的例子。

<? $rand_posts = get_posts('numberposts=3&orderby=rand'); ?>
<ul>
<?foreach ( $rand_posts as $post ) {
setup_postdata( $post ); ?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<? } wp_reset_postdata(); ?>
</ul>

以上代码用于随机在 WordPress 中获取3篇文章。

总结

其实 query_posts()  get_posts() 函数,接受大部分的参数,使用同样结构的数据库查询语句,并能达到一样的目的,但部分主题作者提示 query_posts()有可能会扰乱 WordPress 主循环,所以在这里不推荐使用。
get_posts 使用不难,难在获取文章后怎样在页面中显示,这里就需要有一定的 PHP 知识了。
如果是在文章循环之外想要将查询内容显示出来,可以看一下setup_postdata这个函数,这个函数会给那些用惯了模板标签的童鞋很大的帮助。

文献

WordPress 官方文档 :《Function Reference/get post
之前讲过这个函数的单数形式 《get_post() 详解》,在这里也许你会获得更多参考。

最新文章

  1. UE4蓝图编程的第一步
  2. 阿里云 云解析使用方法/在阿里云ESC服务器解析域名并绑定服务器IP后上传文件通过域名访问步骤教程
  3. windows 远程桌面研究
  4. Pylot压力测试(linux)
  5. Ubuntu中root用户和user用户的相互切换
  6. Linux下rsync增加SSH端口号的用法
  7. 在ubuntu下编写python(python入门)
  8. 4. 跟踪标记 (Trace Flag) 610 对索引组织表(IOT)最小化日志
  9. NancyFX 第四章 Nancy快速上手 (使用Nancy模板)
  10. Daily Sentence(英语每日一句)
  11. redis 五大数据类型之hash篇
  12. 第11课 std::bind和std::function(2)_std::bind绑定器
  13. 编程输出杨辉三角的前10行---多维数组的应用---java实现
  14. 【转】把Git Repository建到U盘上去
  15. Knockout开发中文API系列4–绑定关键字
  16. Oracle体系结构之Oracle基本数据字典:v$database、v$instance、v$version、dba_objects
  17. 如何在tomcat启动时自动加载一个类
  18. Android中ActionBar及Overflow的显示
  19. swiper 下拉刷新混乱
  20. HDFS error

热门文章

  1. ZOJ 1068 P,MTHBGWB
  2. shamir叠像术 分类: 图像处理 2015-07-08 16:50 17人阅读 评论(1) 收藏
  3. 那些盒模型在IE6中的BUG们,工程狮的你可曾遇到过?
  4. 神奇的输入 while(cin&gt;&gt;....)如何在遇见换行之后进入下一层循环读入
  5. 磁盘参数修订[转自vbird]
  6. caffe: test code 执行出问题: Check failed: FLAGS_weights.size() &gt; 0 (0 vs. 0) Need model weights to score.
  7. GUI、GUILayout、EditorGUI、EditorGUILayout
  8. Android 中使用自定义字体的方法
  9. 怎么用ABBYY创建属于自己的PDF
  10. SQL2005中设置自动编号字段【转】