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() 详解》,在这里也许你会获得更多参考。

黄聪:get_posts 函数 | wordpress的更多相关文章

  1. 黄聪:走进wordpress do_action函数

    再看do_action函数.位于plugin.php352行.我把源码放在西街口这里,略去了其它辅助处理的语句. 如下: function do_action($tag, $arg = '') {   ...

  2. 黄聪:使用WORDPRESS自带AJAX方法

    例如给网站每页logo后面的一句名言,点击“换一条”就会ajax动态加载一条,使用了wordpress的自带ajax方法.下面介绍如何使用wordpress自带ajax方法: 1.在header.ph ...

  3. 黄聪:让WordPress主题支持语言本地化(使用poedit软件实现中文翻译功能)

    如果你的WordPress主题要提交到WordPress官方主题库,使用者来自世界各地的多种语言,那么,你就要让你的WordPress主题支持语言本地化,方便使用者进行语言翻译和制作语言包. 让Wor ...

  4. 黄聪:走进wordpress 详细说说template-loader.php

    再看template-laoder.php,这个文件总共只有45行.它的作用是基于访问的URL装载正确的模板. 文件第六行,也是第一条语句,如下: if ( defined('WP_USE_THEME ...

  5. 黄聪:自定义WordPress前台、后台顶部菜单栏管理工具条的技巧

    使用WordPress开发网站项目,很多时候都需要对进行后台定制,今天倡萌主要分享下自定义顶部管理工具条的使用技巧. 注:如无特殊说明,请将下面的代码添加到主题的 functions.php  或者插 ...

  6. 黄聪:自定义WordPress顶部管理工具条的技巧(转)

    使用WordPress开发网站项目,很多时候都需要对进行后台定制,今天倡萌主要分享下自定义顶部管理工具条的使用技巧. 注:如无特殊说明,请将下面的代码添加到主题的 functions.php  或者插 ...

  7. 黄聪:在WordPress后台文章编辑器的上方或下方添加提示内容

    WordPress 3.5 新增了一对非常有用的挂钩,可以快速在WordPress后台文章编辑器的上方或下方添加提示内容,下面是一个简单的例子,直接将代码添加到主题的 functions.php 文件 ...

  8. 黄聪:禁止wordpress版本自动升级的解决方案

    在WordPress配置文件中找到wp-config.php,添加如下常量 define( 'AUTOMATIC_UPDATER_DISABLED', true );

  9. 黄聪:实用WordPress SQL查询方法

    为所有文章和页面添加自定义字段 这段代码可以为WordPress数据库内所有文章和页面添加一个自定义字段. 你需要做的就是把代码中的‘UniversalCutomField‘替换成你需要的文字,然后把 ...

随机推荐

  1. ZOJ 1095 Humble Numbers

    原题链接 题目大意:定义了一种数字Humble Number,他们的质因数只包含2.3.5.7中的一个或者几个,求第n个这样的数,1<=n<=5842. 解法:一看到这道题又在想DFS了, ...

  2. JSP显示-下拉框

    <TABLE class="table-frame" id=p1 cellSpacing=0 cellPadding=0 width="99%" alig ...

  3. JS初学之-if else图片顺序及循环切换

    初学JS,代码还需多多改进,自学中... <!doctype html><html><head><meta charset="utf-8" ...

  4. php部分--操作MySQL 增删改查

    1.建立主页 并进行信息的显示和查询 <table width="95%" border="1" cellpadding="0" ce ...

  5. HDU 2095 find your present (2)

    HDU 2095 find your present (2) 解法一:使用set 利用set,由于只有一个为奇数次,对一个数进行查询,不在集合中则插入,在集合中则删除,最后剩下的就是结果 /* HDU ...

  6. 【BZOJ1004】【HNOI20008】cards

    看黄学长的代码才写出来的,sro_hzwer_orz 原题: 小春现在很清闲,面对书桌上的N张牌,他决定给每张染色,目前小春只有3种颜色:红色,蓝色,绿色.他询问Sun有多少种染色方案,Sun很快就给 ...

  7. pyCharm使用

    1.修改文件和代码模板 修改文件头 2.显示行号

  8. eclipse adt 项目依赖,使用git上的项目

    从git下载的android工程不能直接导入eclipse,有的项目要依赖这个项目,怎么办呢 好像只能新建一个android项目,然后把libs,res,src,AndroidManifest.xml ...

  9. 使用 margin 让div块内容居中

    问:有一个div块,其width为300px,如何设置margin让div块居中显示? 答:margin设置为 margin:0 auto,即div块的上下外边距设置为 0 , 左右外边距设置为 自动 ...

  10. messagepcak 资料

    1,今天在hacknews上看到很多人对messagepack的争论.首先了解什么是MessagePack:MessagePack is a binary-based efficient object ...