详解WordPress开发中的get_post与get_posts函数使用

get_post()
在一般主题制作时,get_post()函数我们一般很少会用到,但因为后面会讲到get_posts(),所以我们不得不先讲一下这个单数形式。这个函数的主要作用是,将一片指定的文章以一个对象或是数组的形式返回,以便我们后期利用。下面让我们简单的了解一下他的使用方法。

get_post()函数说明
WordPress 的函数名总是那么浅显易懂,get_post()函数正如其表,即获得一篇文章,将一篇指定的文章以一个对象或是数组的形式返回,以便我们后期利用。

函数使用

<?php
 get_post($post_id, $output);
?>

$post_id变量,用于设置将要获取文章的ID,需要注意的是,这个变量我们不可以直接给一个实际值,那样会报错,我们只能以下面这样的形式调用。

$pid = 158;
get_post($pid);
//如果像get_post(158);这样调用则会报错

$post_id,默认值是none,经测试,这个变量不设置会报错,个人感觉这个变量好像没有默认值。

$output 变量用于设置返回数据的类型,有三种,对象、关联数组、数值数组。
对象:OBJECT
关联数组:ARRAY_A
数值数组:ARRAY_N
默认值:OBJECT

使用实例

<?php
$mypost_id = 158;
$post_id_158 = get_post($mypost_id, ARRAY_A);
$title = $post_id_158['post_title'];
?>

get_posts 
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' );
?>

注:

  • ‘author' —— 按作者数值编号排序
  • ‘category' —— 按类别数值编号排序
  • ‘content' —— 按内容排序
  • ‘date' —— 按创建日期排序
  • ‘ID' —— 按文章编号排序
  • ‘menu_order' —— 按菜单顺序排序。仅页面可用。
  • ‘mime_type' —— 按MIME类型排序。仅附件可用。
  • ‘modified' —— 按最后修改时间排序。
  • ‘name' —— 按存根排序。
  • ‘parent' —— 按父级ID排序
  • ‘password' —— 按密码排序
  • ‘rand' —— 任意排序结果
  • ‘status' —— 按状态排序
  • ‘title' —— 按标题排序
  • ‘type' —— 按类型排序

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

<?php
$posts_rand = get_posts('numberposts=3&orderby=rand');
?>

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

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

(0)

相关推荐

  • 解析WordPress中的post_class与get_post_class函数

    post_class() post_class 是 WordPress 内置的一个用于显示文章 class 名称的函数,该函数通常会为每一篇文章生成独一无二的 clss 值,如果你需要制作你自己的主题,而且还需要一点个性的话,那你最好驻足一下,使用该函数并配合灵活的 css 代码,我们可以制作出个性化十足的 WordPress 博客. post_class 函数描述 该函数通常会为每一篇文章生成独一无二的 clss 值,可以很方便使用于文章所在的节点中. 函数使用 向其他的诸如 header_i

  • 详解WordPress中分类函数wp_list_categories的使用

    wp_list_categories 函数是 WordPress 中用来罗列系统中分类的函数,该函数拥有许多控制输出的参数,今天突然被一个朋友问到,所以就大概整理了一下. 因为 WordPress 中内置扩展的小工具功能, 所以我们不经任何函数就可以在边栏或是其他我们想要的位置显示一个分类列表, 所以wp_list_categories函数就很少有人用到, 该函数使用起来有点类似于wp_list_bookmarks, wp_list_categories 描述 wp_list_categorie

  • 在WordPress中使用wp_count_posts函数来统计文章数量

    做一个全站统计是不是很酷?长久的博客越来越少,何不给自己的一个统计,看看自己在这个博客上努力了多少,不但给自己也给游客,wp_count_posts是在 WordPress 中用来统计文章数量的函数,可以统计所有类型的文章(post)和页面(page). 描述 wp_count_posts是在 WordPress 中用来统计文章数量的函数,可以统计所有类型的文章(post)和页面(page). 使用 //获取文章数量 $postcount = wp_count_posts(); //获取页面数量

  • WordPress开发中短代码的实现及相关函数使用技巧

    其实实现短代码很简单,我们只需要用到 WordPress 里面的一个函数就可以搞定短代码,外加自己的一个小函数,可以让短代码实现的轻松加愉快. 短代码实现原理 就像往 WP 一些动作里加钩子和过滤函数一样, 短代码只是经过封装了的针对文章输出内容的过滤器而已, 没有像有一些主题功能说的那么震撼.那么高深. 下面来一个简单例子: function myName() {//短代码要处理的函数 return "My name's XiangZi !"; } //挂载短代码 //xz为短代码名

  • 详解WordPress中调用评论模板和循环输出评论的PHP函数

    comments_template comments_template 函数是一个调用评论模板的函数,使用起来很简单,与get_header()等函数一样,是一个include文件类函数,今天来讲一下他的使用. 描述 上面已经讲过了,就是调用评论模板的一个函数. 使用 <?php comments_template( $file, $separate_comments ); ?> 其中 $file 需要调用的文件名 默认值: /comments.php $separate_comments 是

  • 在WordPress中安装使用视频播放器插件Hana Flv Player

    Hana Flv Player 是一个在 WordPress 中应用比较广泛的播放器插件, 该插件内置了5种媒体播放器,其播放文件以 flv 文件为主, 并将插入文件的按钮集成到 WordPress 后台的编辑界面上方便用户操作, 实在是一个不可多得的好插件. 内置的播放器 OS FLV V2.0.5 FlowPlayer V2.2.1 FlowPlayer V3.2.7 FLV Player Maxi MediaElement.js 内置播放器的特色我就不说了,网上搜搜吧,这些都是比较流行的播

  • WordPress开发中的get_post_custom()函数使用解析

    同get_post_meta()一样,用于返回文章的自定义字段值得一个函数,只不过get_post_custom()函数使用起来更简单,如果在循环中使用你甚至不需要设置任何参数. 其实get_post_custom()函数的基础实现与get_post_meta()大同小异~ get_post_custom()使用 get_post_custom($postid); 只接受一个参数 $postid文章id: 实例演示 if (have_posts()) : while (have_posts())

  • 在WordPress中加入Google搜索功能的简单步骤讲解

    网上诸多写怎么在 WordPress 中整合谷歌自定义搜索的文章,但很少有提到如何整合v2版代码的,今天通过实测来给大家讲解一下,如何实现在 WordPress中整合谷歌自定义搜索的. 获取谷歌自定义搜索代码 进入http://www.google.com/cse/ 谷歌各系列账号都是通用的, 所以如果你有gmail的话你就可以顺利进入这个自定义搜索的系统 一系列的注册.登陆你就进入到了 cse 主界面了,网速有时候会些许蛋疼的慢,所以大家要有耐心. 进入主界面点 新建搜索引擎 如下图所示填写内

  • WordPress开发中用于获取近期文章的PHP函数使用解析

    wp_get_recent_posts 函数在 WordPress 中是一个可以获取近期文章数组的函数,相较于其他的文章获取方式, wp_get_recent_posts 返回的将是一个数组而不是对象,所以在使用中对于一些新手或者是懒人,可能会更方便一些,下面我们就实例讲解一下这个函数. 描述 wp_get_recent_posts 英文解释很短,就不贴了, 中文大概意思是:获取最新文章的函数. 实际上这是一个 get_posts函数的再使用. 描述的再好也木用,下面看使用. 使用/用法 <?p

  • WordPress开发中自定义菜单的相关PHP函数使用简介

    函数意义 wp_nav_menu () 自定义菜单显示函数 register_nav_menu () 自定义菜单注册函数 – 单数 register_nav_menus () 自定义菜单注册函数 – 复数 (很蛋疼的一个复数形式) 以下举例均用 register_nav_menus () 这个复数形式,以免混淆. 使用位置 register_nav_menus () function.php 文件中,用于注册自定义菜单在后台的代码调用名称和后台显示名称. wp_nav_menu () 主题任意你

  • WordPress中用于获取搜索表单的PHP函数使用解析

    get_search_form 函数在 WordPress 中是用来提取预设的搜索表单或者默认的搜索表单的.因为官方这个函数没有中文的,所以我就简单写了一下. 描述 get_search_form 函数在 WordPress 中是用来提取自定义搜索表单或者默认的搜索表单的. 显示自定义表单还是显示默认表单,完全取决于您的主题中是否有search.php文件, 如果有该文件,则自动调用该文件,如果没有则显示默认的搜索表单. 使用 <?php get_search_form($echo = true

随机推荐