get_post_status

Получает статус (publish, draft) поста на основе переданного ID.

Если функции был передан ID прикрепленной записи, то функция вернет статус родительской записи. Если ввести ID медиа записи, которая не прикреплена ни к какому посту, то она будет считаться опубликованной – функция выведет ‘publish’

✈ 1 раз = 0.000357с = быстро | 50000 раз = 0.29с = очень быстро PHP 7.0.5, WP 4.4.2
Хуки из функции:
get_post_status

Использование

<?php get_post_status( $ID ) ?>

Идентификатор (ID) записи
По умолчанию: нет

Примеры

Выведем на экран статус поста с идентификатором 121

$rrr = get_post_status( 121 );
echo $rrr;
// выведт: publish, если пост опубликован. draft, если это черновик и т.д.

Код из


wp-includes/post.php

WP 4.7.2

<?php
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 ) ) {
			$parent_post_status = get_post_status( $post->post_parent );
			if ( 'trash' == $parent_post_status ) {
				return get_post_meta( $post->post_parent, '_wp_trash_meta_status', true );
			} else {
				return $parent_post_status;
			}
		}

	}

	/**
	 * Filters the post status.
	 *
	 * @since 4.4.0
	 *
	 * @param string  $post_status The post status.
	 * @param WP_Post $post        The post object.
	 */
	return apply_filters( 'get_post_status', $post->post_status, $post );
}

Комментарии:


Оставить комментарий

Your email address will not be published. Required fields are marked *