カスタム投稿タイプ/カスタム分類関連のページの出力

WordPress 3.0のカスタム投稿タイプ/カスタム分類の機能で、各種のページのアドレスと、出力に使われるテンプレートについて解説します。

1.個々のカスタム投稿のページ

個々のカスタム投稿のページは、通常は以下のようなアドレスになります。

http://ブログのアドレス/カスタム投稿タイプの種類名/カスタム投稿のスラッグ/

例えば、物件を登録するために、「realestate」というカスタム投稿タイプを登録するとします。
そして、「apartment1」というスラッグのカスタム投稿を投稿したとします。
このカスタム投稿のページのアドレスは、以下のようになります。

http://ブログのアドレス/realestate/apartment1/

2.個々のカスタム投稿のページのテンプレート階層

個々のカスタム投稿のページを出力する際には、以下のテンプレート階層に沿って、テンプレートが選ばれます。

  • single-カスタム投稿タイプの種類名.php
  • single.php
  • index.php

例えば、「realestate」というカスタム投稿タイプを登録するとします。
この場合、個々のカスタム投稿のページを出力する際には、「single-realestate.php」→「single.php」→「index.php」の順にテンプレートが検索されます。

3.個々のカスタム分類のアーカイブページ

個々のカスタム分類のアーカイブページは、通常は以下のようなアドレスになります。

http://ブログのアドレス/カスタム分類の種類名/カスタム分類のスラッグ/

例えば、「area」というカスタム分類を登録するとします。
そして、千代田区の物件を登録するために、「chiyoda-city」というスラッグのカスタム分類を追加したとします。
この場合、千代田区の物件一覧のページは、以下のようなアドレスになります。

http://ブログのアドレス/area/chiyoda-city/

4.個々のカスタム分類のアーカイブページのテンプレート階層

個々のカスタム分類のページを出力する際には、以下のテンプレート階層に沿って、テンプレートが選ばれます。

  • taxonomy-カスタム分類の種類名-カスタム分類のスラッグ.php
  • taxonomy-カスタム分類の種類名.php
  • taxonomy.php
  • archive.php
  • index.php

例えば、「area」というカスタム分類を登録するとします。
そして、千代田区の物件を登録するために、「chiyoda-city」というスラッグのカスタム分類を追加したとします。
この場合、千代田区の物件一覧のページを出力する際には、以下の順にテンプレートが検索されます。

  • taxonomy-area-chiyoda-city.php
  • taxonomy-area.php
  • taxonomy.php
  • archive.php
  • index.php

5.その他のページ

上記以外の各種のページについては、WordPressのソースコードを見る限りでは、URLに「?post_type=カスタム投稿タイプ名」のパラメータを付ける形でないと出力できないようです。

例えば、物件を登録するために、「realestate」のカスタム投稿タイプを登録したとしします。
そして、ブログのメインページのように、最近の物件の一覧のページを表示したいとします。
この場合、以下のようなアドレスにアクセスします。

http://ブログのアドレス/?post_type=realestate

また、2010年8月に登録した物件のページを表示したい場合だと、以下のようなアドレスにアクセスします。

http://ブログのアドレス/2010/08/?post_type=realestate

なお、「Simple Custom Post Type Archives」というプラグインをインストールすると、「http://ブログのアドレス/カスタム投稿タイプの種類名/」のアドレスで、そのカスタム投稿タイプのメインページ(通常は最近のカスタム投稿の一覧)を出力することができるようになります。

6.カスタム投稿タイプ/カスタム分類関係の記事の一覧

カスタム投稿タイプ/カスタム分類関係のその他の記事は、以下のリンクから参照できます。

WordPressで学ぶPHPとMySQLWordPressで学ぶPHPとMySQL」発売中です。
WordPressを通して、PHPとMySQLの基本をマスターするための本(PDF)です。
詳細は特設ページにて。