get_post_status_object()


関数 WordPressget_post_status_object()は、投稿ステータスの詳細な情報を取得するために使用されます。

シンタックス

get_post_status_object( string $post_status );
  • $post_status (string) — 取得したい投稿ステータスの名前。例: ‘publish’, ‘draft’, ‘pending’ など。

戻り値:

  • 投稿ステータスが存在する場合はstdClassオブジェクトを返します。
  • 存在しない場合はnullを返します。

使用例 1: 投稿ステータスの詳細情報を取得する

次の例では、’publish’ステータスの詳細を取得します。

<?php
$status = get_post_status_object( 'publish' );
print_r( $status );
?>

使用例 2: 投稿ステータスのラベルを表示する

特定の投稿ステータスのラベルを表示する例です。

<?php
$status = get_post_status_object( 'draft' );
echo $status->label;
?>

使用例 3: 投稿ステータスが存在するか確認する

特定の投稿ステータスが存在するかを確認します。

<?php
if ( get_post_status_object( 'pending' ) ) {
    echo '投稿ステータス「pending」は存在します。';
} else {
    echo '指定した投稿ステータスは存在しません。';
}
?>

使用例 4: カスタム投稿ステータスの表示

カスタム投稿ステータス ‘review’ のラベルを取得して表示します。

<?php
$status = get_post_status_object( 'review' );
if ( $status ) {
    echo 'ステータスラベル: ' . $status->label;
} else {
    echo 'カスタム投稿ステータスが存在しません。';
}
?>

使用例 5: 投稿ステータスオブジェクトのプロパティ表示

投稿ステータス ‘publish’ のプロパティを表示します。

<?php
$status = get_post_status_object( 'publish' );
echo '名前: ' . $status->name . '<br>';
echo 'ラベル: ' . $status->label . '<br>';
echo '公開ステータス: ' . ( $status->public ? 'はい' : 'いいえ' );
?>

注意事項

  • get_post_status_object() は、投稿ステータスがシステムに登録されている場合のみ有効です。
  • 無効なステータス名を指定するとnullが返されるため、確認が必要です。

関連機能: