投稿ステータスにオリジナルのステータスを追加する

文字で書くと何を言っているのか分かりませんね。

投稿画面の右上の「公開」の欄にステータスがありますが、「レビュー待ち」「下書き」「公開」になっています。
ここにオリジナルのステータス(アーカイブとか)を追加するコードらしいです。
未検証なので、コードらしい・・・になります。

参考:Custom Post Status Creation | WordPress | James Collings
参考:関数リファレンス/register post status – WordPress Codex 日本語版

「Archive」というステータスを追加します。

initの処理

function jc_custom_post_status(){
     register_post_status( 'archive', array(
          'label'                     => _x( 'Archive', 'post' ),
          'public'                    => true,
          'show_in_admin_all_list'    => false,
          'show_in_admin_status_list' => true,
          'label_count'               => _n_noop( 'Archive <span class="count">(%s)</span>', 'Archive <span class="count">(%s)</span>' )
     ) );
}
add_action( 'init', 'jc_custom_post_status' );

ドロップダウンメニューの追加

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

Screen-shot-2013-04-25-at-21.11.29

Screen-shot-2013-04-25-at-21.12.16

こんな感じになるようです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)