WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru Купить персональные IPV4 и IPV6 прокси

get_post_status() WP 2.0.0

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

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

Возвращает

Строка/false. Статус записи при успехе. false если не удалось получить статус.

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

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

get_post_status( $ID );
$post(строка/массив/число/объект/логический) (обязательный)
Идентификатор (ID) записи или объект записи WP_Post.
По умолчанию: null (текущая в цикле запись)

Примеры

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

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

Разные существующие статусы:

Array (
	[publish]    => publish
	[future]     => future
	[draft]      => draft
	[pending]    => pending
	[private]    => private
	[trash]      => trash
	[auto-draft] => auto-draft
	[inherit]    => inherit
)

#2 Выведем локализованное название статуса поста

$status = get_post_status( 121 );
echo get_post_status_object( $status )->label; // Опубликовано

Список изменений

С версии 2.0.0 Введена.

Код get post status: wp-includes/post.php WP 5.2.2

<?php
function get_post_status( $post = null ) {
	$post = get_post( $post );

	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 );
}

Cвязанные функции

Из метки: statuses (статус записи коммента юзера)

Еще из раздела: Записи: посты, страницы, ...

Комментариев нет
    Здравствуйте, !     Войти . Зарегистрироваться