【コピペ】カスタム投稿タイプテンプレートについて

前回紹介した 『Custom Post Type UI』の設定について の続きです。
作成したカスタム投稿タイプ用のテンプレートの作り方をご紹介します。

カスタム投稿タイプで使う用語の意味

  • post_type・・・・ポストタイプ
  • taxonomy・・・・タクソノミー
  • term・・・・・・・ターム

post_type

投稿タイプのコンテンツ名です。デフォルトでは「post」「page」など

taxonomy

「分類(タクソノミー)」はカスタム投稿タイプのグループ名です。
例えば「魚」「鳥」などの大分類

term

分類内のさまざまなグループ名を「term(項目)」といいます。
例えば「いわし」「カラス」などの小分類

 

テンプレート種類

  • archive-{post_type}.php
  • single-{post_type}.php
  • taxonomy-{taxonomy}.php
  • taxonomy-{taxonomy}-{term}.php

archive-{post_type}.php

例えば「post_type」が「blog」だった場合、archive-blog.phpというテンプレートファイル名となり、これはURL「/blog」のアーカイブ一覧用のテンプレートになります。

single-{post_type}.php

例えば「post_type」が「blog」だった場合、single-blog.phpというテンプレートファイル名となり、これはURL「/blog/投稿ID or 投稿名」の投稿記事用のテンプレートになります。

taxonomy-{taxonomy}.php

例えば「taxonomy」が「blog_cat」だった場合、taxonomy-blog_cat.phpというテンプレートファイル名となり、これはURL「/blog_cat」のアーカイブ一覧用のテンプレートになります。

taxonomy-{taxonomy}-{term}.php

例えば「taxonomy」が「blog_cat」で「term」が「takeshi」だった場合、taxonomy-blog_cat-takeshi.phpというテンプレートファイル名となり、これはURL「/blog_cat/takeshi」のアーカイブ一覧用のテンプレートになります。

 

テンプレートタグ

 

パーマリンクの設定

Custom Post Type Permalinks

カスタム投稿タイプのパーマリンク設定のカスタムが可能になります。
例えば「/blog/taxonomy/term/投稿ID」のように間にtaxonomytermを挟んだURLにするなどカスタマイズができます。

カスタム例

例えば以下の設定だった場合

post_type = 「blog」
taxonomy = 「blog_cat」
term = 「takeshi」

1)パーマリンクの設定は「 /%blog_cat%/%post_id% 」に変更

2)「 カスタマイズされたカスタムタクソノミーのパーマリンクを使用する。 」にチェック

 

タクソノミーをURLから削除する

「/blog/taxonomy/term/投稿ID」ではなく「/blog/term/投稿ID」のように
taxonomyを除いたURLに変更したい場合は、こちらの関数を functions.php  追加してください。

※リダイレクトルールに書かれている「blog(post_type)」「blog_cat(taxonomy)」は作成したものに差替えしてください。

Sidebar