ワードプレスでカスタム投稿タイプを作成して絞り込み検索をできるようにするまで

今回は日頃業務で行っているカスタム投稿タイプの設定をプラグインでどうやるかをまとめた。業務での要件はだいたい以下のようになっている。

  • カスタム投稿タイプ「施工事例」スラッグは「work」を作成できるようにする
  • 施工事例には「施工事例カテゴリー」を設定できるようにする
  • 管理画面の施工事例一覧画面に施工事例カテゴリーでの絞り込み検索をつける
  • 管理画面の施工事例一覧画面に施工事例カテゴリーを表示する
  • 施工事例のアーカイブページを自動生成しない。複数の施工事例カテゴリー検索を自前で用意するため
  • フロントのURLは「work」ではなく「case」に変更したい

これらの要件を満たすために毎回functions.phpにコードを記述していたが、複数のカスタム投稿タイプを作成するとごちゃごちゃになるのでプラグインで行えないか調査したところ、「Custom Post Type UI」プラグインと「Admin Taxonomy Filter」プラグインで実現可能なことがわかった。

「Custom Post Type UI」プラグインをインストールする

まずはいつものようにプラグインの追加画面で「Custom Post Type UI」と入力して検索し、「Custom Post Type UI」プラグインをインストールして有効化する。

カスタム投稿タイプ「施工事例」を登録する

「Custom Post Type UI」プラグインを有効化したら、カスタム投稿タイプ施工事例を作成する。ここでは下記のように入力した。

投稿タイプのスラッグ:work
複数形のラベル:施工事例
単数形のラベル:施工事例

入力が終わったら投稿タイプを保存する。




施工事例のカテゴリー「施工事例カテゴリー」を作成する

次は施工事例のカテゴリー「施工事例カテゴリー」をカスタムタクソノミーで作成する。
「Custom Post Type UI」プラグインのメニューのタクソノミーの追加と編集をクリックし、下記の内容を入力するl

タクソノミーのスラッグ:work_cat
複数形のラベル:施工事例カテゴリー
単数形のラベル:施工事例カテゴリー
利用する投稿タイプ:「施工事例」をチェック

入力が終わったらタクソノミーを追加ボタンをクリックするl.

タクソノミーをタグではなくカテゴリーとして使う

作成した施工事例カテゴリーを施工事例の登録画面で確認してみると、カテゴリーではなくタグとして表示されてしまっている。
これでは意図したものと違うのでカテゴリーとして利用できるように設定する必要がある。

施工事例カテゴリーをタグではなくカテゴリーとして利用するには
メニューの「CPI UI」ー>「タクソノミーの追加と編集」画面で`階層`を`真`に変更する。

施工事例の編集画面に行くと施工事例カテゴリーがいつものチェックボックスで表示されるようになった。

施工事例カテゴリーを管理画面の一覧に項目として表示する

次は追加した施工事例カテゴリーを施工事例一覧画面で表示するための設定を行う。
先程と同じメニューの「CPI UI」ー>「タクソノミーの追加と編集」画面で`管理画面でカラムを表示`を`真`にする。

すると、施工事例一覧で作成した施工事例カテゴリーを施工事例一覧画面でも表示することができた。

施工事例のアーカイブページを自動生成しない

ワードプレスではカスタム投稿タイプとカスタムタクソノミーを作成すると自動で一覧画面のURLが生成されてしまう。今回の「施工事例」と「施工事例カテゴリー」の場合は下記の2種類のURLが生成される。

一覧ページの種類 自動生成されるURL
1.施工事例一覧 http://ドメイン/archives/work
2.施工事例一覧(カテゴリで絞り込み) http://ドメイン/archives/work_cat/reform

※workは施工事例のスラッグ、work_catは施工事例カテゴリーのスラッグである。

案件では、下記の2つのタイプの表示内容を1つの固定ページで表示したいので自動生成されるそれぞれのURLを無効にする。

1.施工事例一覧の無効化

施工事例一覧の無効化(http://ドメイン/archives/work)を無効化するには投稿タイプの編集画面で施工事例を選択肢、設定の項目にある`アーカイブあり`を`偽`に変更する。

2.施工事例一覧(カテゴリで絞り込み)

施工事例カテゴリー(カスタムタクソノミー)の一覧画面のURLの自動生成を止める方法が「Custom Post Type UI」プラグインの設定項目には見当たらなかったので、使用中のテーマのfunctions.phpに下記のコードを追記する。

// work_catは施工事例カテゴリーのタクソノミー
add_filter( 'work_cat_rewrite_rules', '__return_empty_array' );

施工事例カテゴリー(施工事例一覧)のパーマリンクを変更する

施工事例の投稿のパーマリンク内の「work」という文字を「case」へ変更する

投稿タイプの編集画面で`カスタムリライトスラッグ`を`case`に変更する。

これで施工事例一覧と施工事例カテゴリー一覧のURLが生成されなくなった。

クイック編集に施工事例カテゴリーを表示して編集できるようにする

施工事例一覧画面で用意した施工事例をクイック編集できるようにしたい場合は`クイック編集 / 一括編集パネルに表示`を`真`にする。

すると施工事例一覧でも施工事例カテゴリーをクイック編集できるようになった。

施工事例カテゴリーを管理画面の一覧に検索項目として「施工事例カテゴリー」で検索できるようにする

「Admin Taxonomy Filter」プラグインをインストールする

最後に施工事例一覧画面において、施工事例カテゴリーで絞り込み検索を行えるようにしたい。
そのために`Admin Taxonomy Filter`プラグインをインストールする。

`Admin Taxonomy Filter`プラグインのインストールが完了したら「設定」->「Taxonomy Filter」を選択して「施工事例カテゴリー」にチェックを入れて変更を保存する。

すると施工事例一覧に「施工事例カテゴリー」のプルダウンが追加されて絞り込み検索ができるようになった。

関連記事一覧

  • コメント ( 0 )

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。