[收起] 文章目录

get_post( int|WP_Post|null $post = null, string $output = OBJECT, string $filter = 'raw' )
检索发布的数据,给定了一个帖子ID或post对象。
说明#说明

有关可选的$ filter值,请参阅sanitize_post()。此外,参数$post必须作为变量赋值,因为它是通过引用传递的。

参数

$post
(int | WP_Post | null) (可选) Post ID或Post对象。默认为全局$ post。
默认值:null
(整数[必填])获取的文章ID号。注:必须传递一个含有整数的变量(如$id),如果直接添加数字会报错,这个需要注意。默认值为空。
返回的参数有:


ID(文章ID编号)
post_author(文章作者编号)
post_date(文章发表的日期和时间[格式:年-月-日 时-分-秒])
post_data_gmt(文章发表的格林尼治标准时间[缩写:GMT,格式:年-月-日 时-分-秒])
post_content(文章内容)
post_title(文章标题)
post_category(文章分类编号[注:在2.1之后的版本值总为0。所以定义文章的分类可使用get_the_category()函数])
post_excerpt(文章摘要)
post_status(文章状态包括已发布,准备发布,草稿,私人文章等等)
comment_status(评论状态包括开启评论,关闭评论,只要注册用户可以评论)
ping_status(pingback/trackback状态[关闭或者开启])
post_password(文章密码)
post_name(文章的URL嵌套)
to_ping(要引用文章的URL链接)
pinged(引用过的文章链接)
post_modified(文章最后修改时间[格式:年-月-日 时-分-秒])
post_modified_gmt(文章最后修改格林尼治标准时间[缩写:GMT,格式:年-月-日 时-分-秒])
post_type(文章类型包括页面,文章,附件)
comment_count(评论总数)

$output
(string) (可选) 所需的返回类型。OBJECT,ARRAY_A或ARRAY_N中的一个,分别对应于WP_Post对象,关联数组或数字数组。
默认值:OBJECT
$filter
(string) (可选) 要应用的过滤器类型。接受'raw','edit','db'或'display'。
默认值:'raw'
Return
(WP_Post | array | null)成功对应于$ output的类型或失败时为空。当$ output为OBJECT时,WP_Post返回一个实例。

例子


//要获得ID为7的帖子的标题:
$post_7 = get_post( 7 ); 
$title = $post_7->post_title;
//或者,指定$ output参数:
$post_7 = get_post( 7, ARRAY_A );
$title = $post_7['post_title'];

//如果你需要特殊的东西 - [shortcodes],段落标签,令人兴奋的内容,你应该应用过滤器而不是使用do_shortcode()。
$post   = get_post( 42 );
$output =  apply_filters( 'the_content', $post->post_content );

//如果您在内容中有短码,您应该使用:
$post = get_post( 4304,ARRAY_A );
$output =  do_shortcode($post['post_content']);

//获取帖子的作者
$post_info = get_post( 10 );
$author = $post_info->post_author;