カスタム投稿タイプっていう用語は聞いたことがある。でもカスタムタクソノミー??なんじゃそりゃって感じですよね?私も最初はそうでした。
ざっくり説明すると、カスタム投稿タイプはWordPressの通常の「投稿」とは別に「投稿と同じような時系列の記事の集まり」を作れる機能で、カスタムタクソノミーは「タグやカテゴリーと同じような分類の集まり」のことを言います。
カスタムタクソノミーなんて言うから分かりにくいわけで、「独自の分類」といえばなるほど!!って感じですよね。通常ある「カテゴリー」や「タグ」とは別の分類が作れるということなんですね。
でもこのカスタムタクソノミーは追加しても管理画面の投稿一覧にはどこを見ても何も表示されないんです。これは困った・・・ということで今回はカスタムタクソノミーの列と投稿に設定されている値を投稿一覧に表示する方法を2通り紹介します。
プラグインの機能を使って表示する方法
カスタムタクソノミーを使おうと思う方は大抵カスタム投稿タイプも使っているでしょうから、カスタム投稿タイプやカスタムタクソノミーを簡単に作成・管理するプラグイン
を使用した方が簡単かつ安全だと思います。手順は次の通り
- ダッシュボードから「CPT UI」→「タクソノミーの追加と編集」をクリックします
- カスタムタクソノミーのスラグ・名称を決めて入力します
- 「利用する投稿タイプ」にチェックを入れます
- 下の方にある「管理画面でカラムを表示」にチェックを入れます
すでにこのプラグインを使ってカスタムタクソノミーを作成している方は4(赤字の設定)のみすればOKです。
※このオプションを有効にしたときに、同じく設定画面内にある「利用する投稿タイプ」でそのカスタムタクソノミーを使用する投稿タイプを限定している場合には該当する投稿タイプの投稿一覧にのみカスタムタクソノミーの列と情報が表示されます。
コードを直接記述して表示する方法
コード自体は管理画面の投稿一覧にカスタムタクソノミーの列を表示させる方法に掲載されていたものを参考(文字列の変更以外はコードそのもの)にさせていただきました。
コピペすれば・・・ではなくコードのどこがどうなっているのか?まで解説されていて勉強になりました。
下のコードをコピーしてコード内に2つある「タクソノミースラッグ」の部分を実際のカスタムタクソノミーのスラグに書き換えます(スラグ?という方はカスタム投稿タイプの記事を実際に表示してみるなどしてURLの「http://〇〇〇/ここ/××」の部分をコピーすれば大丈夫でしょう)
それから「投稿の見出しの名前」の部分を「分類」などわかりやすい名前に変更します
変更が終わったらテーマのfunctions.phpへ追記します
/******* カスタムタクソノミー(プラグインでできること)を投稿一覧に追加 *******/
function add_custom_column( $defaults ) {
$defaults['タクソノミースラッグ'] = '投稿一覧の見出しの名前';
return $defaults;
}
add_filter('manage_posts_columns', 'add_custom_column');
function add_custom_column_id($column_name, $id) {
if( $column_name == 'タクソノミースラッグ' ) {
echo get_the_term_list($id, 'タクソノミースラッグ', '', ', ');
}
}
add_action('manage_posts_custom_column', 'add_custom_column_id', 10, 2);
コードを追加すると固定ページを除くすべての投稿タイプにカスタムタクソノミーの列が追加され、設定されていれば内容が表示されます。
この方法ではカスタムタクソノミーを使えるようにしていない投稿タイプにも列自体ができてしまうので、不要なところは管理画面右上の「表示」を開いてチェックを外せばOKです。
WordPressのバージョン4.9以降ではコードの記述が間違っている場合、ロールバック(変更されていない状態)に戻って保存できないようになっています。それ以前のバージョンでは更新が行われ、適用に失敗すると画面が真っ白、頭も真っ白になってしまいますから、もしもそうなってしまったら
を参考に復旧させてくださいね。
おまけ Custom Post Type UIプラグインのカスタムタクソノミー設定のコツ
【Custom Post Type UI】は通常functions.phpへコードを挿入して作成するカスタム投稿タイプやカスタムタクソノミーを、難しい知識不要で簡単に追加・編集・削除できるプラグインです。カスタムタクソノミーの追加を行うついでに、さらに便利になる設定項目について紹介しておきます。
カスタムタクソノミーの詳細設定はタクソノミースラグなどの基本情報からかなり下、画面をずっとスクロールした場所にあります。
カスタムタクソノミーを階層化する
カスタムタクソノミーは標準機能のタグと同じように階層構造(親子関係)を持たない構造になっています。これを階層構造化するには「階層」の項目を「True」にします
クイック編集画面にカスタムタクソノミーを表示する
WordPressには編集画面を開かずに一覧から簡単な編集ができる「クイック編集」機能や、複数の投稿の編集を一括してできる「一括編集」機能があります。この画面にカスタムタクソノミーの編集画面を追加するには「クイック編集パネル / 一括編集パネルに表示」の項目を「True」にします。
いかがですか?なかなか見落としがちな2つの設定、便利なのになぜかデフォルトでは「False(無効)」になっています。これだけでも設定変更しておけば本当に便利に使えると思いますよ。