WordPressのカスタム投稿一覧画面にターム別(カテゴリー)の絞り込み機能を付ける
公開日:
WordPressでカスタム投稿を作ったけど、ターム別(カテゴリー)で絞り込みたいと思う時はありませんか?
ブログサイトを運営していたり、自社サイトで記事を投稿していると、ターム(カテゴリー)に偏りができてターム(カテゴリー)の種類によって記事が多かったり少なかったりすることがあります。
そういう時は、管理画面にターム別(カテゴリー)の絞り込み機能を付けるだけで、「以前にどんな記事を公開していたか」「どのくらいの記事を投稿しているのか」が一目でわかり、記事の把握がしやすくなります。
そんなターム別(カテゴリー)の絞り込み機能を追加する方法をご紹介します。
ターム別(カテゴリー)の絞り込み機能を追加する
作業は簡単です。コード記述するだけで追加ができます。functions.phpに下記のコードをコピペして追加します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
add_action('restrict_manage_posts', function() { global $post_type; if ( !in_array($post_type, ['カスタム投稿名']) ) return; $taxonomy = 'タクソノミー名'; $terms = get_terms($taxonomy); if ( empty($terms) ) return; $selected = get_query_var($taxonomy); $options = ''; foreach ($terms as $term) { $options .= sprintf('<option value="%s" %s>%s</option>' ,$term->slug ,($selected==$term->slug) ? 'selected="selected"' : '' ,$term->name ); } $select = '<select name="%s"><option value="">デフォルトテキスト</option>%s</select>'; printf($select, $taxonomy, $options); }); |
コピペが終わると、次はサイトに合わせて少しテキストを変更します。
変更する場所は、上記のコードの「カスタム投稿名」「タクソノミー名」「デフォルトテキスト」と書かれている部分になります。
①「カスタム投稿名」の変更
こちらは、カスタム投稿名(カスタム投稿のスラッグ)に変更します。
※カスタム投稿を作成した時に記述したものです
②「タクソノミー名」の変更
こちらも①と同じですが、タクソノミー名(タクソノミー名のスラッグ)に変更します。
※カスタム投稿を作成しタクソノミーを付けた時に記述したものです
③「デフォルトテキスト」の変更
こちらは機能を追加するのには変更しなくても問題ないですが、絞り込みする際にプルダウンメニューのデフォルトで表示されるテキストになります。
私の場合は「カテゴリー選択」と変更しています。
④functions.phpをサーバーに更新
①~③の作業が終われば、functions.phpをサーバーにアップし上書きします。
その後、管理画面にて絞り込み機能が追加されているか確認してください。もちろんfunctions.phpをカスタマイズする際は、必ずバックアップデータを取っておくようにしましょう。
WordPressのカスタマイズについて
WordPressのカスタマイズは、いろいろな機能をプラグインなしで付けることができます。ですが、少しのミスでサイトが表示されなくなったりすることもあります。
例えは、半角や全角の間違いや「”」「’」「,」「.」などの打ち間違いや付け忘れなどがあります。
1文字が違うだけで、サイトはエラーとなり、全てのページが表示されなくなることはよくあります。
カスタマイズする際は、しっかりとデータのバックアップを取った上で、いつでもカスタマイズする前に戻せるようにしておきましょう。
今回の機能は、簡単なカスタマイズなのでエラーを怖がらずに挑戦するにはちょうどいいカスタマイズだと思います。ぜひ、挑戦してみてください!