🏡まったのブログ

CPTUIとCustom Post Type Permalinks での設定メモ

基本的に「これはどういう意味の設定項目なのか?」を理解・説明して解説している記事は少なかった。

基本的な考え

Custom Post Type UI(以下CPTUI)にもパーマリンクまわりの設定欄があるが、これは基本使わずにCustom Post Type Permalinks(以下CPTPermalinks)の設定を使う。

本来、WordPressはカスタム投稿タイプやカスタムタクソノミー を作った時に、標準では一覧ページを作成してくれないようで、上記のプラグインでなるべく整ったパーマリンクを設定する。

完成するパーマリンク構造

/post_type :投稿タイプの一覧ページ
  /post_type/taxonomy/term :タームのページ(タームに属する投稿の一覧ページ)
     /post_type/term/postname :投稿

カスタム投稿タイプの設定

基本的に他の設定値に依存する項目(別項目がTrueでないと意味がないのにTrueにしてなくても設定値が出現しちゃう)が多いのでわかりにくい。

  • アーカイブあり:True
  • 階層:False(子ページが必要ならTrue)
  • リライト:True(これでCPTPermalinksによりURLのリライトが可能になる)
    • カスタムリライトスラッグ:空白(上記リライトがTrueのときCPTUI側でスラッグを好きな文字列に変更できるが触らなくていい)
    • フロントでのリライト:False(フロント(CPTPermalinksがない前提でのパーマリンク設定画面のこと?)でのパーマリンク構造設定を可能とするか。ただこれをTrueにしてもCPTPermalinksなしでは何も起きない?Trueでも動くが、余分なのでFalseが良いかと)

カスタムタクソノミー の設定

  • 階層:False(子タームを作るならTrue)
  • リライト:True
    • カスタムリライトスラッグ:空白
    • フロントでのリライト:False
  • 階層リライト:False(これは上記の階層をTrueにした場合にのみ適用される)

パーマリンクの設定

カスタマイズされたカスタムタクソノミー のパーマリンクを使用する

チェック。本来はCPTUIを使用しただけではタクソノミーの一覧は表示されない(クエリ付与でしか参照できない)ようである。

なのでこれをチェックすることでWP標準のカテゴリーと同様のパーマリンク構造を生成する。ただし/taxonomy/を削除する機能はCPTPermalinksにはない。

カスタムタクソノミー のアーカイブに、post_typeクエリーを追加

チェック。あるタームの投稿一覧を表示するときに、「パーマリンクに含まれている投稿タイプに含まれている投稿」に絞って出力するようである。

投稿タイプが1つだったら意味がないが、例えば1つのタクソノミー が2つの投稿タイプで使われている場合、そのタクソノミー の記事一覧にはパーマリンクに含まれない方の投稿タイプの投稿も出力されてしまうと思われ、これを防ぐ機能と思われる。

参考になる記事

これらをなるべく理解できるように解説しつつ、使い方を説明していた記事たち。ただタクソノミー 一覧ページの/taxonomy/を削除するfunctions.phpのコードを入れても効果がなかった…。

【SEOを考慮したWordPressサイト構築】3/3 STEP3 カスタム投稿タイプURLの設定方法

【徹底解説】Custom Post Type UIによるカスタムタクソノミーの作り方

Custom Post Type UI の編集画面を日本語で徹底解説!