概要
get_post_status
関数は、特定の投稿のステータスを取得するためのWordPressの関数です。この関数は、特に投稿やページなどの管理や表示に関する機能を実装する際に頻繁に使用されます。以下に、get_post_status
関数の主な利用例を示します。
- 投稿の公開ステータス確認
- 自動下書き保存の管理
- 投稿の草稿状態の表示
- カスタム投稿タイプのステータス取得
- プラグインやテーマによる条件分岐処理
- ユーザーに特定の投稿のみを表示
- 投稿の状態に応じたメッセージ表示
- 投稿がゴミ箱に入っているかの確認
構文
get_post_status( $post );
パラメータ
- $post (mixed) – 投稿のIDまたはWP_Postオブジェクト。省略可能で、指定しない場合は現在の投稿が使用される。
戻り値
- (string|false) – 投稿のステータス。ポストが見つからない、またはステータスが取得できない場合は
false
を返す。
関連する関数
使用可能なバージョン
get_post_status
関数は、WordPress 2.0.0 以降で利用可能です。
コアファイルのパス
wp-includes/post.php
サンプルコード
サンプルコード1: 投稿のステータスを取得し表示
$post_id = 1; // 投稿ID
$status = get_post_status( $post_id );
echo '投稿のステータス: ' . $status;
このサンプルコードは、特定の投稿IDの投稿ステータスを取得し、その結果を表示します。
サンプルコード2: 現在の投稿のステータスをチェック
$status = get_post_status();
if ( $status == 'publish' ) {
echo 'この投稿は公開されています。';
} else {
echo 'この投稿はまだ公開されていません。';
}
このコードは、現在の投稿の状態を確認し、公開されているかどうかを判定してメッセージを表示します。
サンプルコード3: 特定のステータスを持つ投稿の一覧を取得
$args = array(
'post_type' => 'post',
'post_status' => 'draft',
'numberposts' => -1
);
$drafts = get_posts( $args );
foreach ( $drafts as $draft ) {
echo '下書きタイトル: ' . $draft->post_title . '<br>';
}
このサンプルは、「下書き」ステータスを持つすべての投稿のタイトルを取得し、表示します。
サンプルコード4: 投稿のステータスに基づいて異なるメッセージを表示
$post_id = 5; // 任意の投稿ID
$status = get_post_status( $post_id );
switch ( $status ) {
case 'publish':
echo 'この投稿は公開されています。';
break;
case 'draft':
echo 'この投稿は下書きです。';
break;
case 'pending':
echo 'この投稿は承認待ちです。';
break;
default:
echo 'この投稿の状態は不明です。';
}
このコードスニペットは、特定の投稿のステータスに基づいて異なるメッセージを表示します。
サンプルコード5: 投稿がゴミ箱に入っているかの確認
$post_id = 7; // ゴミ箱に入っている可能性のある投稿ID
$status = get_post_status( $post_id );
if ( $status == 'trash' ) {
echo 'この投稿はゴミ箱に入っています。';
} else {
echo 'この投稿はゴミ箱には入っていません。';
}
このサンプルコードは、指定された投稿がゴミ箱に入っているかどうかを確認し、その結果を表示します。
この関数のアクションでの使用可能性
アクション | 使用例 |
---|---|
mu_plugin_loaded | |
registered_post_type | 〇 |
plugins_loaded | 〇 |
wp_roles_init | |
setup_theme | |
after_setup_theme | |
set_current_user | |
init | 〇 |
register_sidebar | |
wp_loaded | |
send_headers | |
parse_query | |
pre_get_posts | 〇 |
wp | 〇 |
template_redirect | |
get_header | |
wp_head |
非推奨または削除されたバージョン
現在のところ、get_post_status
関数は非推奨または削除されていないため、特定のバージョンはありません。