wordpress获取文章状态函数:get_post_status()
说明
按ID编号检索文章的状态。
如果文章的ID号为附件则返回该附件文章的状态。
用法
<?php get_post_status($ID); ?>
参数
$ID
(整数)(可选)文章ID若未提供$ID则该函数返回False。
默认值:”
返回的值
(字符|布尔型)
返回文章的状态,出错时则返回False。
可能的返回值:
- ‘publish’ – 已经发表的文章或页面
- ‘pending’ – 文章正在等待审查
- ‘draft’ – 草稿状态
- ‘auto-draft’ – 自动保存的草稿
- ‘future’ – 未来的时间发布
- ‘private’ – 登录后可见
- ‘inherit’ – 修订
- ‘trash’ – 在回收站中.版本2.9.增加
示例
<?php $ post_status = get_post_status ( 36 );//假设id为36的文章类型是“publish” echo $post_status; //打印出 publish ?>
修改记录
自2.0.0版本后
源文件
get_post_status () 位于wp-includes/post.php中。
/**
* Retrieve the post status based on the Post ID.
*
* If the post ID is of an attachment, then the parent post status will be given
* instead.
*
* @since 2.0.0
*
* @param int $ID Post ID
* @return string|bool Post status or false on failure.
*/
function get_post_status($ID = '') {
$post = get_post($ID);
if ( !is_object($post) )
return false;
if ( 'attachment' == $post->post_type ) {
if ( 'private' == $post->post_status )
return 'private';
// Unattached attachments are assumed to be published
if ( ( 'inherit' == $post->post_status ) && ( 0 == $post->post_parent) )
return 'publish';
// Inherit status from the parent
if ( $post->post_parent && ( $post->ID != $post->post_parent ) )
return get_post_status($post->post_parent);
}
return $post->post_status;//返回文章的post_status字段
}
参考:https://developer.wordpress.org/reference/functions/get_post_status/