get_post_status()


WordPressのget_post_status()関数は、特定の投稿またはページの現在のステータスを取得するために使用されます。

構文

get_post_status( int|WP_Post $post = null );
  • $post (int|WP_Post) — 投稿のID、またはWP_Postオブジェクトを指定します。指定しない場合は現在の投稿が使用されます。

戻り値:

  • (string) — 投稿のステータス(例: ‘publish’, ‘draft’, ‘pending’ など)。

使用例

例 1: 現在の投稿のステータスを取得する

現在表示中の投稿のステータスを取得します。

<?php echo get_post_status(); ?>

例 2: 投稿IDを指定してステータスを取得する

特定の投稿IDを指定してステータスを取得します。

<?php echo get_post_status( get_the_ID() ); ?>

例 3: 投稿のステータスが公開済みかを確認する

特定の投稿が公開済みであるかを確認します。

<?php
if ( get_post_status( get_the_ID() ) === 'publish' ) {
    echo 'この投稿は公開されています。';
}
?>

例 4: WP_Postオブジェクトを使用してステータスを取得する

WP_Postオブジェクトを使用して投稿のステータスを取得します。

<?php
$post = get_post( get_the_ID() );
echo get_post_status( $post );
?>

例 5: 全ての投稿のステータスをループで取得する

すべての投稿のステータスをループを使用して取得します。

<?php
$args = array( 'post_type' => 'post', 'posts_per_page' => -1 );
$posts = get_posts( $args );
foreach ( $posts as $post ) {
    echo $post->ID . ': ' . get_post_status( $post ) . '<br>';
}
?>

注意事項

  • 引数を指定しない場合、get_post_status()は現在の投稿を対象にします。
  • 取得するステータスは、投稿の種類によって異なる場合があります(例: ‘private’, ‘future’, ‘inherit’ など)。
  • WP_Postオブジェクトを使用する場合は、get_post()関数でオブジェクトを取得する必要があります。

関連機能: