WordPressの投稿ステータスは「公開済み」や「下書き」が中心ですが、記事が増えると詳細な状態を把握しにくくなります。
そこで便利なのが独自の投稿ステータスです。「画像準備中」「リライト対象」などと設定すれば、下書き中や公開済みの記事も整理しやすく、チーム運営もスムーズになります。
本記事では、WordPressに独自の投稿ステータスを追加する方法をご紹介します。
目次
独自の投稿ステータスとは?
WordPressには「下書き」「公開」「非公開」などの基本的なステータスが用意されています。
WordPressで投稿記事や固定ページを公開するとき、「公開」「下書き」「非公開」などのステータス設定があります。ただ、初心者の方にとってはその違いが少し分かりにくいです。 そこで当記事では、WordPressの投稿ステータスの種類をわかりやすく整理しました。 比較表も掲載しているので...
ただ、実際は「下書き」とひとくくりにするには幅が広すぎることがあります。
たとえば次のようなパターンです。
- ほぼ完成
- アイデアをメモしただけ
- 画像挿入待ち
このような段階を区別したいときに役立つのが「独自の投稿ステータス」です。
コピペでできるカスタマイズで任意のステータスを追加できるので、記事をより細かく分類・管理できるようになります。
どんなときに使うの?
実際の利用シーンをいくつか挙げてみます。
- 記事が「書きかけ」なのか「確認待ち」なのかを明確にしたいとき
- 複数人でサイトを運営していて、進捗を共有したいとき
- 公開済み記事を「リライト対象」として管理したいとき
標準の「下書き」や「公開」だけでは区別しづらいケースでも、独自ステータスを使えば整理しやすく、チーム運用でも一目で進捗が把握できます。
独自の投稿ステータスを利用する方法
以下でご紹介しているコードをコピペして、記事編集画面で独自ステータスを選択すればすぐ使えます。
functions.phpにコードを追加する
独自の投稿ステータスは、テーマファイルのfunctions.phpにコードを追加することで作成できます。以下の例では「画像準備中」という下書きステータスを追加します。
テーマファイルに直接追加するより、プラグイン経由がおすすめです。
WordPressの「functions.php」ファイルは、初心者はあまり触らない方が無難です。 色んなカスタマイズが可能な反面、操作を間違えるとエラーが出てしまうリスクがあるからです。 そこで本稿でご紹介するのは「Code Snippets」というプラグイン。functions.ph...
// 独自投稿ステータス「画像準備中」を追加
function my_custom_post_status() {
register_post_status( 'image_pending', array(
'label' => '画像準備中',
'public' => false,
'exclude_from_search' => true,
'show_in_admin_all_list' => true,
'show_in_admin_status_list' => true,
'label_count' => _n_noop(
'画像準備中 <span class="count">(%s)</span>',
'画像準備中 <span class="count">(%s)</span>'
),
));
}
add_action( 'init', 'my_custom_post_status' );
// 投稿画面・クイック編集のステータスに追加
function add_image_pending_to_dropdown() {
global $post;
?>
<script>
jQuery(function($){
// 公開メタボックス
$('#post_status').append('<option value="image_pending">画像準備中</option>');
// クイック編集
$('select[name="_status"]').append('<option value="image_pending">画像準備中</option>');
// 投稿画面の表示を更新
if('<?php echo $post->post_status ?? ''; ?>' === 'image_pending'){
$('#post-status-display').text('画像準備中');
}
});
</script>
<?php
}
add_action('post_submitbox_misc_actions', 'add_image_pending_to_dropdown');
add_action('admin_footer-edit.php', 'add_image_pending_to_dropdown');
// 投稿一覧のフィルタに追加
function add_image_pending_to_post_list($views) {
$num = wp_count_posts()->image_pending;
$views['image_pending'] = '<a href="edit.php?post_status=image_pending&post_type=post">画像準備中 <span class="count">(' . $num . ')</span></a>';
return $views;
}
add_filter('views_edit-post', 'add_image_pending_to_post_list');
// 投稿タイトル横にステータス表示
function show_image_pending_post_state($states, $post = null) {
if($post && $post->post_status === 'image_pending') $states['image_pending'] = '画像準備中';
return $states;
}
add_filter('display_post_states', 'show_image_pending_post_state', 10, 2);
このコードを追加すると、投稿画面や投稿一覧で「画像準備中」という新しいステータスが選択できるようになります。
投稿画面で独自ステータスを選択する
上記コードを追加したら、投稿記事編集画面で「画像準備中」というステータスを選択します。

一覧画面では、次のように表示されるので、画像準備中の記事だけでソートすることも可能です。

記事本文は完成しているけど、画像が揃っていない下書きであることが一目でわかります。
公開済み記事に独自ステータスを追加する
たとえば、公開済みの記事に「リライト対象」などという独自ステータスを追加したいケースもあるかもしれません。
記事のリライトは、ブログのアクセスを増やすために欠かせない手法です。検索エンジンからアクセスを集めるには、リライトを前提としたブログ運営が必要です。 リライトによって、検索順位がアップしたりアクセス数が増加することもありますが、減少することもあります(下のグラフは増加した例)。 リラ...
以下のコードを追加すれば、先ほどの「画像準備中」ステータスに加えて、「リライト対象」というステータスも追加できます。
// 独自ステータス追加
function my_custom_post_statuses() {
register_post_status( 'image_pending', array(
'label' => '画像準備中',
'public' => false,
'exclude_from_search' => true,
'show_in_admin_all_list' => true,
'show_in_admin_status_list' => true,
'label_count' => _n_noop('画像準備中 <span class="count">(%s)</span>','画像準備中 <span class="count">(%s)</span>'),
));
register_post_status( 'rewrite_target', array(
'label' => 'リライト対象',
'public' => true,
'exclude_from_search' => false,
'show_in_admin_all_list' => true,
'show_in_admin_status_list' => true,
'label_count' => _n_noop('リライト対象 <span class="count">(%s)</span>','リライト対象 <span class="count">(%s)</span>'),
));
}
add_action( 'init', 'my_custom_post_statuses' );
// 投稿画面・クイック編集に追加
function add_custom_statuses_to_dropdown() {
global $post;
?>
<script>
jQuery(function($){
$('#post_status').append('<option value="image_pending">画像準備中</option>');
$('#post_status').append('<option value="rewrite_target">リライト対象</option>');
$('select[name="_status"]').append('<option value="image_pending">画像準備中</option>');
$('select[name="_status"]').append('<option value="rewrite_target">リライト対象</option>');
if('<?php echo $post->post_status ?? ''; ?>' === 'image_pending') $('#post-status-display').text('画像準備中');
if('<?php echo $post->post_status ?? ''; ?>' === 'rewrite_target') $('#post-status-display').text('リライト対象');
});
</script>
<?php
}
add_action('post_submitbox_misc_actions', 'add_custom_statuses_to_dropdown');
add_action('admin_footer-edit.php', 'add_custom_statuses_to_dropdown');
// 投稿一覧フィルタに追加
function add_custom_statuses_to_post_list($views) {
$views['image_pending'] = '<a href="edit.php?post_status=image_pending&post_type=post">画像準備中 <span class="count">(' . wp_count_posts()->image_pending . ')</span></a>';
$views['rewrite_target'] = '<a href="edit.php?post_status=rewrite_target&post_type=post">リライト対象 <span class="count">(' . wp_count_posts()->rewrite_target . ')</span></a>';
return $views;
}
add_filter('views_edit-post', 'add_custom_statuses_to_post_list');
// 投稿タイトル横に表示
function show_custom_post_states($states, $post = null) {
if(!$post) return $states;
if($post->post_status === 'image_pending') $states['image_pending'] = '画像準備中';
if($post->post_status === 'rewrite_target') $states['rewrite_target'] = 'リライト対象';
return $states;
}
add_filter('display_post_states', 'show_custom_post_states', 10, 2);
管理画面には、以下のように表示されます。

記事一覧画面からでも、記事の詳しい状態を把握できますね。
まとめ
WordPressに独自の投稿ステータスを追加する方法をご紹介しました。
投稿ステータスに「詳細な状態」を設定することで、記事管理をより便利にできます。
- プラグイン「Code Snippets」にコピペするだけで追加可能
- 「画像準備中」「リライト対象」など、用途に応じたステータスを作成できる
- 大量の記事やチーム運営でも進捗を整理しやすい
初心者の方でも安心して導入できるカスタマイズですので、ぜひ参考にしてみてください。
投稿記事の管理に便利なプラグイン
管理画面にメモを残せるプラグインや、記事公開前のチェックリスト作成に便利なプラグインもあります。
複数のユーザーでWordPressのサイトを運営しているときに、ちょっとしたメモを残しておきたいときがあります。また、自分のための備忘録代わりなどにもメモを付けておけると便利です。 今回は、簡単な設定で管理画面内にユーザーが共有できるメモが残せるプラグインをピックアップしてご紹介していきます。...
WordPressで記事を公開後に、次のようなうっかりミスが見つかることはありませんか? 「画像のALTタグを未設定のままだった」 「パーマリンクが日本語のままだった」 「既存記事とリンクさせるのを忘れていた」 特に複数人で運用しているサイトでは、こうしたミスを防ぐ仕組みがあると便利...
WordPressテーマ集







コメント