【WordPress】投稿ステータスに独自のステータスを追加する方法

投稿日:2023年11月6日

【WordPress】投稿ステータスに独自のステータスを追加する方法

WordPressでブログを投稿する際、記事を下書きにしたり非表示にしたりと、以下の項目のように投稿記事のステータスが5つの状態に設定が出来ます。

  • 下書き
  • 非表示
  • 予約投稿
  • レビュー待ち
  • 公開済み

上記の項目だけでも充分ですが、更に投稿ステータスに独自のステータスがほしいなと思った事はありませんか?

今回は、WordPressの投稿に独自のステータスを持たせる方法をご紹介いたします!

投稿に独自のステータスを追加する方法

投稿ステータスに独自のステータスを追加する方法として、functions.phpに以下のようなコードを追加します。

function post_status(){
    register_post_status('remand', array(
        'label'                     => _x( "差戻し", 'post' ),
        'public'                    => false,  //公開状態
        'exclude_from_search'       => false,  //検索結果から
        'show_in_admin_all_list'    => true,  //管理画面の記事一覧リストに表示されるか
        'show_in_admin_status_list' => true,  //管理画面のステータスリストに表示されるか
        'label_count'               => _n_noop( '>差戻し (%s)', '>差戻し (%s)' ),
    ) );
}
add_action( 'init', 'post_status' );

function reject_post_status(){
    global $post;
    $complete = '';
    $label = '';
    if($post->post_type == 'post'){
        if($post->post_status == 'remand'){
            $complete = ' selected="selected"';
            $label = '<span id="post-status-display">差戻し</span>';
        }
        echo '
            <script>
            jQuery(document).ready(function($){
            $("select#post_status").append("<option value=\"remand\" '.$complete.'>差戻し</option>");
            $(".misc-pub-section label").append("'.$label.'");
            });
            </script>
        ';
    }
}
add_action('admin_footer-post.php', 'reject_post_status');

今回は、「差戻し」というステータスを追加しました。

まとめ

WordPressの投稿ステータスに独自のステータスを追加する方法についてご紹介しましたが、いかがだったでしょうか。

今回の方法の他に、プラグインでも追加が可能ですので、そちらも機会があればご紹介したいと思います!

この記事を書いた人

KNOWLEDGE BASEの中の人

KNOWLEDGE BASEの中の人

2013年よりWEB制作会社に入社し、デザイン・コーディングからディレクションと幅広く従事。

その他の関連記事はこちら