カスタム投稿タイプを練習する為のWordPress子テーマ”mypace custom plus 1.4”リリース
こちらの改修は随分久しぶりになってしまいましたが、親テーマmypace customの1.7のリリースと同時に、子テーマもバージョンアップしました。
当バージョンでの変更箇所(子テーマ:mypace custom plus 1.4)
- CSSファイルの@importを廃止し、style.cssの読み込みを、functions.phpでwp_enqueue_style関数を記述する方法に変更。
- カスタムタクソノミーの一覧表示用テンプレートファイルtaxonomy-goodscategory.phpを追加。
- 各ファイルの<?php get_header(); ?>上のコメント(<!– *****.php start –>)を削除。(IEの後方互換問題解消のため)
ダウンロードする
[download id=”9″ format=”3″]
(Ver1.4/WordPress3.4~3.5.1にて動作確認済/zip形式/79KB)
拙作の”mypace custom”テーマの子テーマです。”mypace custom”(verticalも可)と”mypace custom plus”の両方がないと動きません。
”mypace custom”テーマのダウンロードはこちらのページへ!
補足:page-good.phpは実は不要だったりします。#2013.05.09追記
このテーマを最初に制作してから2年近くが経ちました。今後このテーマのpage-good.phpで使っているquery_postsを使った実装方法は非推奨になっていく流れです。
また、現在のバージョンでは、わざわざ表示用の固定ページを作らなくても、'has_archive' => true
を1行追加しておけば、勝手にアーカイブページが生成されます。
たとえばパーマリンク設定が /archives/%postname%/だったら、http://example.com/archive/construction で勝手に一覧してくれてるはずです。
適宜最新のCodexなどを参照してください。
補足2:パーマリンクの設定条件により、テンプレート適用の挙動が変わります
たまに、パーマリンクの設定により、テンプレートファイルの適用が思ったとおりにいかないという質問を受けます。
ありがちなのは、以下のようなパターンです。
- パーマリンクにカテゴリースラッグを使用
- 固定ページのスラッグと、カスタム投稿タイプのスラッグが同じ(ここではgoodsというスラッグ)
- 固定ページのテンプレート(page-goods.php)が適用されない!
この条件下では、http://example.com/goods はgoods投稿タイプのアーカイブとして表示されます。
そのため、固定ページのテンプレート(page-goods.php)よりも、カスタム投稿タイプアーカイブテンプレート(archive-goods.php)が優先して適用されます。
なのでやはりpage-goods.phpは不要になるわけなんですが、そもそも論として
- パーマリンクに/%category%/を含めると、カテゴリーを移動した時にURLが変わるので通常は避けたほうがいい。(※私の場合、案件の運用条件によっては使用することもありますが…)
- ページスラッグとカスタム投稿スラッグとカスタムタクソノミースラッグはすべて別のものにする方が安全。
ということを頭に入れておくとよいでしょう。