WordPressでカテゴリーのように独自のグループを作成して一覧ページへのリンクを表示させたいというご相談を頂きました。
目次
サイドバーにジャンルを設定し項目から複数の投稿ページへリンクする方法
はじめまして。
WordPress超初心者の者です。どうぞよろしくお願い致します。
WordPressのテーマはLuxeritasを使用します。
歴史に関する本の紹介サイトを作ろうと思っているのですが、サイドバーにジャンルを作りその中の項目から関連する複数の投稿ページへリンクする方法がわかりません。
例)
ジャンル
・第一次世界大戦
・第二次世界大戦
・太平洋戦争
上記どれかをクリックすると関連する投稿をまとめてページに表示させたいのです。
カテゴリとタグは別の事で使用したいので、HTMLやプラグイン等を用いて作成する方法があるのでしょうか?
当方で調べましたが、なにぶん初心者なうえ回答に該当するものが見つからず困り果ててます。
お忙しいところ大変恐縮ですがご教授いただければ幸いです。
何卒よろしくお願い致します。
>mestnaokiさま
ご相談ありがとうございます。
方法はいくつかあります。
1.カスタムタクソノミー / タームを作成する方法
2.カテゴリーを切り分けてそのカテゴリーだけを表示する
の流れで解説したいと思います。
1.カスタムタクソノミー / タームを作成する方法
WordPressはカスタムタクソノミー / ターム というものを作る事ができます。
・カスタム投稿タイプ(カスタムポストタイプ)
・カスタムタクソノミー
というワードはWordPressを使っていけば耳にすることになるでしょう。
「投稿タイプ」というのは「投稿」「固定ページ」のことです。
「投稿」はpostという投稿タイプ
「固定ページ」はpageという投稿タイプ
です。
例えば「お知らせ(news)」のように独自の記事を投稿するメニューを作ることができます。
「タクソノミー」というのは「カテゴリー」「タグ」のことです。
「カテゴリー」はcategoryというタクソノミー
「タグ」はpost_tagというタクソノミー
です。タームはそれぞれのタクソノミーの下層に作られた分類のことです。
導入予定のものでいうと、
ジャンル(カスタムタクソノミー)
第一次世界大戦(カスタムターム)
第二次世界大戦(カスタムターム)
太平洋戦争(カスタムターム)
という形で独自のカテゴライズを作成できます。
こんな感じですね。(これは漫画・映画などの作品を紹介するサイトの例です。)
そして、作ったジャンルタクソノミーの中でこのようなタームを作る事ができます。
カテゴリーの作成画面とほとんど同じですよね。
このように独自のカテゴリーを持つ方法、それがカスタムタクソノミー&タームです。
カスタム分類 のコーデックスもご覧ください。
WordPressコーデックス カスタム分類
Custom Post Type UI(CPT UI)
カスタム分類(タクソノミー)はfunctions.phpへの追記でも作成できますが、プラグインでも管理できます。
有名なのがこちらのプラグインです。
Custom Post Type UI(CPT UI)
https://ja.wordpress.org/plugins/custom-post-type-ui/
プラグイン名で検索すれば詳しく解説しているページも数多くあります。
基本的にはインストール > 有効化 で「CPT UI」メニューが出てきます。
「タクソノミーの追加と編集」から新しい分類を作る事ができます。
あとはなんという名前、スラッグのタクソノミーを作るかです。これはそのままURLになります。example.com/genre/
※どの投稿タイプで使いたいかをチェックで選択できます
注意する点は、「階層」というオプションです。
階層true カテゴリーのように階層を持ったタクソノミーとなります。
階層false タグのように階層のないタクソノミーとなります。
作成した記事一覧は「archive.php」のテーマファイルで表示されます。
コピーしてarchive-genre.phpを追加すればジャンル独自のテンプレートを作る事もできます。
表示方法
タクソノミーのリンクを表示する方法ですが、ウィジェットの「タグクラウド」でカスタムタクソノミーを選択できます。
他にもプラグインはあったと思います。
Collapsing Categories
https://ja.wordpress.org/plugins/collapsing-categories/
といったプラグインはカテゴリー(確かタクソノミーも)一覧表示する機能があったと思います。
「taxonomy + widget」のようなワードで探すと色々出てくるかもしれません。
後述のカスタムメニューなども参考にして下さい。
カスタムタクソノミーの難点
カスタムタクソノミーはカテゴリーと分けて記事を分類できるので便利ではありますが、それらを独自に呼び出して表示する・・・といった場合にはPHPのカスタマイズが必須でカテゴリーとも勝手が違うため、初心者向けではありません。
2.カテゴリーを切り分けてそのカテゴリーだけを表示する
さて、カテゴリーやタグは他のことに使いたいということですが、
ジャンル
第一次世界大戦
第二次世界大戦
太平洋戦争
カテゴリー
子カテゴリー1
子カテゴリー2
のようにカテゴリー分けすることは出来なそうでしょうか。
タグの場合も、「tag groups」というタグクラウドをジャンルに分けてウィジェット表示できるプラグインがあります。
tag groups
https://ja.wordpress.org/plugins/tag-groups/
カスタムメニュー
カテゴリーやタグの一部のリンクだけを作るとしたら、カスタムメニューがおすすめです。(HTMLを直接記述するよりは簡単です)
外観 > メニュー から新しいメニューを作成し、それをウィジェット表示することができます。
カスタムメニューの作り方はこちらをご覧下さい。
カスタムメニューの作り方
つくったカスタムメニューはウィジェットの「ナビゲーションメニュー」で選択できるようになります。
参考にしていただければ幸いです。
ご回答いただきましてありがとうございました。
大変助かりました。
今後とも何卒宜しくお願い致します。
mestnaokiさま
コメントありがとうございます!
また何かあればご相談下さい。