WordPressの管理画面では、カスタム投稿記事一覧はこのように表示されます。

カスタム投稿記事一覧の例

一見、通常の投稿と同じようですが、「カテゴリー」毎に記事を絞り込む機能がありません(日付でのみ絞り込み可)。記事数が多いと、カテゴリー毎にまとめて編集したいケースもあるでしょう。

そこで今回は、カスタム投稿記事一覧をカテゴリー毎に絞り込むためのカスタマイズ方法をシェアいたします。簡単ですが、functions.phpを編集しますので、念の為バックアップはとっておきましょう。

カテゴリーフィルターを設置する

カスタム投稿記事一覧をカテゴリー毎に絞り込むために、カテゴリーフィルターを設置します。こんなイメージですね。

フィルター設置イメージ

任意のカテゴリーのみを絞り込んで表示できるようになるわけです。では早速カスタマイズ方法を見ていきましょう。ほとんどコピペで済みます。

カテゴリーフィルターを実装する記述

記述のベースは次の通りですが、対象のカスタム投稿に合わせて適宜変更が必要です。

  • カスタム投稿のスラッグ:「news」
  • カスタム投稿カテゴリーのスラッグ:「news_category」

という場合の記述例です。
別のカスタム投稿に使いたい場合は、3行目、5行目、8行目の該当箇所を変更します。

function add_post_taxonomy_restrict_filter() {
global $post_type;
if ( 'news' == $post_type ) {
?>
<select name="news_category">
<option value="">カテゴリーを指定する</option>
<?php
$terms = get_terms('news_category');
foreach ($terms as $term) { ?>
<option value="<?php echo $term->slug; ?>"><?php echo $term->name; ?></option>
<?php } ?>
</select>
<?php
}
}
add_action( 'restrict_manage_posts', 'add_post_taxonomy_restrict_filter' );

functions.phpにコピペする

あとは、functions.phpにコピペするだけです。赤枠箇所が間違いないか確認しておくといいです。

コピペ箇所

このようにダッシュボードの外観>テーマファイルエディターから行った場合は、テーマアップデート時には削除されます。一時的にフィルターを設置したい際などはこの方法でも問題なしです。

これでカスタム投稿記事一覧の管理画面にフィルターが表示されるはずです。

カテゴリーごとに絞り込んで効率化しよう

カスタム投稿記事一覧をカテゴリー毎に絞り込むカスタマイズ方法をご紹介いたしました。

めっちゃ簡単ですよね。通常の投稿と同じように、サクッと絞り込めるようになると記事の編集・管理を効率化できます。ぜひお試しください。