Infochowder

色々な情報がギュッと詰まったサイト

プラグインなしでカスタムタクソノミーを設置する

投稿日: 2017年10月22日

ワードプレスでカテゴリを複数に分けて表示を出し分けたい時に便利なのがカスタムタクソノミー。写真ブログ Neitanoで種類や撮影地、観察エリアといった項目を表示しています。私の場合、個別ページの右サイドバーは種名だけを表示させたかったので実装しました。

プラグインを使用すれば簡単なのですが、あまりプラグインを増やしたくはなかったのと、それほど難易度は高くないのでプラグインなしで設置しました。

プラグインなしで実装する時に二つのことに注意

  1. functions.phpに直接スクリプトを記述するので、余分な部分には触らないよう慎重に行う
  2. テーマのfunctions.phpではなく 必ず子テーマを作成してそこに記述する

ワードプレスのfunctions.phpは「;(セミコロン)」等を一つだけ誤って消したとしても最悪の場合、画面が真っ白になることもあるので扱いは慎重にします。

また、使用しているテーマのfunctions.phpに直接記述するとテーマのアップデートがあった時にその記述が全て消えてしまう場合があるので、必ず子テーマを作成して記述するようにします。

参考にしたのはWordPress Codex 日本語版のカスタム分類のページ。ここに使用するスクリプトも紹介されています。

実装方法

子テーマの中に作成したfunctions.phpに以下のコードを記述。


function people_init() {
// 新規分類を作成
register_taxonomy(
'people', //分類の項目名
'post', //適用する投稿タイプ
array(
'label' => 'People', //この項目の表示名
'hierachical' => true, //作成した項目に階層構造を作る
'show_ui' => true, //管理画面に表示する
)
)
);
}
add_action( 'init', 'people_init' ); //この分類を実行

項目名を増やしたいときは「resiter_taxonomy ~ );」を順にコピペして増やしていけばいいです。arrayの中には他にもさまざまなオプションがありますが、最低限これだけでいいかと。

functions.php に直接記載することになるので、慎重に行わなければならないのですが、もし、エラーが発生したら修正した部分を削除するだけで復旧します。編集したら必ずブログを再表示して問題がないことを確認してください。

表示名のところは日本語でも大丈夫。編集するエディタは文字コード UTF-8 が使用できるもので編集してください。カスタムタクソノミーを使うことでより柔軟なブログ運営ができるようになります。お試しください。