get_post_stati()


関数get_post_stati()は、WordPressの投稿ステータスに関連する情報を取得するために使用されます。デフォルトのステータスやカスタムステータスを含むすべてのステータスを配列形式で返します。

シンタックス

get_post_stati( $args, $output, $operator );

引数の説明

  • $args (array) — 投稿ステータスのフィルタリングに使用する条件。
  • $output (string) — 出力形式を指定します。利用可能な値: names または objects
  • $operator (string) — 条件の組み合わせを定義します。AND または OR

例1: すべての投稿ステータスを取得する

このコードは、デフォルトとカスタムの投稿ステータスを配列として返します。

<?php
$post_statuses = get_post_stati();
print_r( $post_statuses );
?>

例2: 名前のみの投稿ステータスを取得する

$output引数を'names'に設定して、名前だけを返します。

<?php
$post_status_names = get_post_stati( [], 'names' );
print_r( $post_status_names );
?>

例3: 公開ステータスのみ取得する

$argsを使用して、特定の条件のステータスのみ取得します。

<?php
$args = ['public' => true];
$public_statuses = get_post_stati( $args, 'names' );
print_r( $public_statuses );
?>

例4: 複数条件でステータスを取得する

$args$operatorを組み合わせて条件を適用します。

<?php
$args = [
    'public' => true,
    'internal' => false,
];
$statuses = get_post_stati( $args, 'names', 'AND' );
print_r( $statuses );
?>

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

array_key_exists()を使用して特定のステータスが存在するか確認します。

<?php
$post_statuses = get_post_stati();
if ( array_key_exists( 'publish', $post_statuses ) ) {
    echo '公開ステータスが存在します。';
}
?>

例6: カスタム投稿タイプでステータスを取得する

$argsをカスタム投稿タイプに適用してステータスを取得します。

<?php
$args = ['show_in_admin_all_list' => true];
$custom_statuses = get_post_stati( $args, 'names' );
print_r( $custom_statuses );
?>

注意点

  • この関数はフィルタリングされた結果を返すため、意図しない結果を避けるために引数の設定に注意してください。
  • $output引数に誤った値を渡すと、デフォルトの出力が返されます。

関連機能: