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にコピペするだけです。赤枠箇所が間違いないか確認しておくといいです。
このようにダッシュボードの外観>テーマファイルエディターから行った場合は、テーマアップデート時には削除されます。一時的にフィルターを設置したい際などはこの方法でも問題なしです。
これでカスタム投稿記事一覧の管理画面にフィルターが表示されるはずです。
カテゴリーごとに絞り込んで効率化しよう
カスタム投稿記事一覧をカテゴリー毎に絞り込むカスタマイズ方法をご紹介いたしました。
めっちゃ簡単ですよね。通常の投稿と同じように、サクッと絞り込めるようになると記事の編集・管理を効率化できます。ぜひお試しください。
コメント