register_post_status()


WordPressのregister_post_status()関数は、カスタム投稿ステータスを登録するために使用されます。これにより、デフォルトの「公開」「下書き」などのステータス以外の独自のステータスを追加できます。

構文

register_post_status( string $post_status, array $args );

引数の説明:

  • $post_status(string) — 登録する投稿ステータスのスラッグ。
  • $args(array) — ステータスのオプションを指定する配列。

例1: 基本的なカスタムステータスの登録

「レビュー中」という新しいステータスを登録します。

register_post_status('review', array('label' => 'レビュー中', 'public' => true));

例2: ステータスにラベルと説明を追加

「保留中」ステータスを登録し、説明を追加します。

register_post_status('pending', array('label' => '保留中', 'description' => 'この投稿は保留中です。', 'public' => false));

例3: ステータスを管理画面に表示

「アーカイブ済み」ステータスを登録し、管理画面の投稿一覧に表示します。

register_post_status('archived', array('label' => 'アーカイブ済み', 'show_in_admin_all_list' => true, 'show_in_admin_status_list' => true));

例4: ステータスの色を指定

「却下」ステータスを登録し、管理画面で色を指定します。

register_post_status('rejected', array('label' => '却下', 'label_count' => _n_noop('却下 <span class="count">(%s)</span>', '却下 <span class="count">(%s)</span>'), 'post_color' => '#ff0000'));

例5: ステータスを公開状態に設定

「承認済み」ステータスを登録し、公開状態に設定します。

register_post_status('approved', array('label' => '承認済み', 'public' => true));

例6: ステータスのラベル数をカスタマイズ

「下書き」ステータスのラベル数をカスタマイズします。

register_post_status('draft', array('label' => '下書き', 'label_count' => _n_noop('下書き <span class="count">(%s)</span>', '下書き <span class="count">(%s)</span>')));

例7: ステータスを非公開に設定

「非公開」ステータスを登録し、非公開状態に設定します。

register_post_status('private', array('label' => '非公開', 'public' => false));

注意点

  • カスタムステータスを登録する際は、initアクションフック内で行うことが推奨されます。
  • ステータスのスラッグは一意である必要があります。
  • 公開状態のステータスは、フロントエンドで表示される可能性があるため、注意が必要です。

関連機能: