カスタム投稿タイプとは
カスタム投稿タイプはWordPressにおける独自の投稿タイプであり、WordPress毎に設置できます。
カスタム投稿タイプは既存の投稿や固定ページと分けて設置でき、管理画面における独自の名前付けをはじめカテゴリ・タグの設置など細かく設定できるので、一度作ってしまえば投稿者(クライアント等)にとって分かりやすく便利です。
カスタム投稿タイプを新規作成するには、テーマ内のfunction.phpにregister_post_typeを書き込む必要があります。
関数リファレンス/register post type | WordPress Codex 日本語版
カスタム投稿タイプ毎に、独自の「カテゴリ」と「タグ」を設定できます。
これらの「カテゴリ」と「タグ」は見かけのもので、実体は「カスタム分類(=カスタムタクソノミー)」です。
カスタム分類 | WordPress Codex 日本語版
カスタム投稿タイプ、カスタムタクソノミーについて整理してみた|free WordPress Theme Principle
カスタム投稿タイプに独自の「カテゴリ」「タグ」(カスタム分類)を設定するには、
function.phpにregister_taxonomyを追記します。
関数リファレンス/register taxonomy | WordPress Codex 日本語版
カスタム投稿タイプの「カテゴリ」「タグ」毎のアーカイブページを作成・表示
カスタム投稿タイプの「カテゴリ」や「タグ」毎のアーカイブページ(archive.php的なもの)が必要な場合、以下の作業が必要です。
taxonomy_{$taxonomy}.php という名前のファイルをテーマ内に作り、archive.php等と同様に内容を書き込んでいきます。
ここでの$taxonomyとは、’register_taxonomy’で設定した$taxonomy(Codex)であり(「{」と「}」は不要)、
分かりやすく書くと
taxonomy_カスタム分類名.php
です。
カスタム分類名をカスタム投稿タイプ名と混同しないよう注意。
ちなみに、カスタム分類名には「-(ハイフン)」を含まないほうが良さそうです。「_(アンダーバー)」はOK。
カスタムタクソノミーのアーカイブページで404エラー|WordPress日本語フォーラム
設置の例
例)
WordPress設置URL http://example.com/
カスタム投稿タイプ名「events」($custom_post_type)
カスタム分類名「events_cat」($taxonomy)
管理画面よりevents_catにカテゴリ「スポーツ」(スラッグ=「sports」)を追加
とした場合、
taxonomy-events_cat.php
を作り
http://example.com/events_cat/sports/
にアクセスすると、
カテゴリ「sports」に該当する記事のアーカイブが表示されるはず。
補足: パーマリンクのカスタマイズ
http://example.com/events_cat/sports/ (events_cat はカスタム分類名)
を
http://example.com/events/sports/ (events はカスタム投稿タイプ名)
と表記したい場合には、
function.php内のregister_taxonomyに
‘rewrite’ => array(‘slug’ => ‘events’)
と追記すればOKです。
カスタム分類のページの URL を変更する|webdesign leaves