get_post_status() — возвращает статус поста с указанным ID

Под постом, как обычно, подразумевается любая запись (тип post), страница (тип page) и другие произвольные типы постов.

get_post_status( $ID = '' )
ID
(целое число) ID поста, статус которого нужно получить. Если ID не указан, функция возвращает false.

Обратите внимание, если в параметре указан ID вложения (тип attachment), то тогда будет возвращен статус родительского поста. У самих вложений статус всегда один и тот же — inherit.

Вот полный список всех возможных статусов постов:

  • publish — опубликованный пост,
  • pending — пост ожидает проверки модератором,
  • draft — черновик,
  • auto-draft — автоматически созданный чероновик для нового поста, не содержащий контента,
  • future — пост запланирован на публикацию,
  • private — невидим для незарегистрированных пользователей,
  • inherit — статус вложений и редакций постов,
  • trash — пост, находящийся в корзине (удаленный), статус добавлен в WordPress 2.8

Вы также можете получить все статусы постов в виде массива объектов при помощи функции get_post_stati().

Пример

Простой такой пример:

$post_id = 55;
$post_status = get_post_status( $post_id );
 
if($post_status == 'publish')
	echo 'Указанный пост опубликован на сайте.';
Миша Рудрастых Разработчик WordPress WooCommerce

Миша Рудрастых

Впервые познакомился с WordPress в 2009 году, и после двух лет мучений с Joomla и самописными движками это был просто бальзам на душу. С 2014 года меня можно встретить на WordCamp — официальной конфе по WP в Москве, иногда там выступаю. Также в настоящее время веду курсы по WordPress в Epic Skills в Питере.