Как проверить статус (удалён, опубликован) текущего поста в WordPress


Иногда может произойти ситуация, что вам нужно проверить статус текущего поста. Например вы сомневаетесь, что он опубликован или вам нужно исключить черновики из вашей списка постов. В данном случае мы используем функцию get_post_status().

Эта функция принимает ID или объект записи WP_Post и возвращает нам при успехе статус записи. Всего статусов запсиси несколько

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

Пример применения этой функции:

$post_status = get_post_status( 1 );

if ( $post_status && 'publish' != $post_status ) {
  
	echo 'Статья ещё не опубликована';

}