wordpress二次开发:常用函数get_post()

2015-01-16 14:00 阅读 224 次 评论关闭

在一般主题制作时,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

返回的字段为:

ID

(整数)文章编号

post_author

(整数)文章作者的编号

post_data

(字符)文章发表的日期和时间(YYYY-MM-DD HH-MM-SS)

post_data_gmt

(字符)文章发表的格林尼治标准时间(GMT) (YYYY-MM-DD HH-MM-SS)

post_content

(字符)文章内容

post_title

(字符)文章标题

post_category

(整数)文章类别的编号。注意:该值在WordPress 2.1之后的版本总为0。定义文章的类别时可使用 get_the_category()函数。

post_excerpt

(字符)文章摘要

post_status

(字符)文章状态(publish|pending|draft|private|static|object|attachment|inherit|future)

comment_status

(字符)评论状态(open|closed|registered_only)

ping_status

(字符)pingback/trackback状态(open|closed)

post_password

(字符)文章密码

post_name

(字符)文章的URL嵌套

to_ping

(字符)要引用的URL链接

pinged

(字符)引用过的链接

post_modified

(字符)文章最后修改时间(YYYY-MM-DD HH-MM-SS)

post_modified_gmt

(字符)文章最后修改GMT时间(YYYY-MM-DD HH-MM-SS)

post_content_filtered

(字符)

post_parent

(整数)父级文章编号(供附件等)

guid

(字符)文章的一个链接。注意:不能将GUID作为永久链接(虽然在2.5之前的版本中它的确被当作永久链接),也不能将它作为文章的可用链接。GUID是一种独有的标识符,只是目前恰巧成为文章的一个链接。

menu_order

(整数)

post_type

(字符)(日志 | 页面 | 附件)

post_mime_type

(字符)Mime类型(供附件等)

comment_count

(整数)评论总数

使用实例一:获取编号(ID)为158的文章标题

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

使用实例二:获取编号(ID)为7的文章标题

<?php
$my_id = 7;
$post_id_7 = get_post($my_id);
$title = $post_id_7->post_title;
?>

也可以指定$output参数:

<?php

$my_id = 7;
$post_id_7 = get_post($my_id, ARRAY_A);
$title = $post_id_7['post_title'];
?>

<?php ##    Correct: pass a dummy variable as post_id $the_post = & get_post( $dummy_id = 7 );

##    Incorrect: literal integer as post_id
$the_post = & get_post( 7 );
//    Fatal error: 'Only variables can be passed for reference' or 'Cannot pass parameter 1 by reference'
?>

总结

这个函数看起来用处不大,个人认为不然,获得指定文章并加以利用,是CMS主题中常用的手段,所以 WordPress 你越往深里走,这些能够获得返回的函数你就越能用得到。后面会讲到get_posts()这个函数,如果有机会,还会探讨一下 CMS 主题的制作基础。

相关参阅:《wordpress二次开发:常用函数get_posts()

版权声明:本文著作权归原作者所有,欢迎分享本文,谢谢支持!
转载请注明:wordpress二次开发:常用函数get_post() | 猎微网

评论已关闭!