記事一覧

作成するテンプレートを整理する

 posted by suzu
テンプレート作成のススメ

今回から、実際にテーマに必要なテンプレートの作成の準備に入ります。

先の記事 「必要なテンプレートの種類」 で
WordPress CodexWordPress Codex 日本語版
で公式に謳われている テンプレート階層 を紹介しました。

ただ、実際には、かなり細分化した制御をするのでもなければ
「ここまで必要ないんぢゃない?」ってものも多いので、本当に必要なものと、
個別に独自テンプレートとして独立させた方がよさそうなものを整理して、
実際に作るテンプレートを決めます。
※SmartStyleを前提に解説していますので、
  ご自身の欲しいものに照らし合わせて考えてみてください

 

まず、index.php は、全ての リクエスト(ページアクセス) の間口
になりますので絶対必要です。

次に、世のほとんど(全て) のテーマがそうであるように、デザインの根幹となる
スタイルシートは、外部ファイル化した方がよいでしょう。
WordPress のデフォルトテーマである TwentyFourteen や TwentyThirteen、
他の一般のテーマでも外部 CSS ファイルは、style.css としていますね。

また、不正なパラメータでリクエストがあったり、削除記事に対するアクセスを
処理するために、404エラー (NotFound) を表示する 404.php も用意しましょう。

様々な種類の一覧ページを表示するアーカイブページは archive.php
だけでも問題ないかと思います。
カスタムタクソノミー別、カテゴリ別、タグ別、作成者別、
日付別(年別、月別、日別)、カスタム投稿タイプ別と、
それぞれに極端なレイアウトの差を付けなければ、
archive.php の中で多少の分岐をさせることはできますので。
必要に応じて、必要なものだけ細分化して用意すればいいと思います。
ただ、検索結果の一覧である search.php は別物になりますので
別途用意しましょう。

投稿記事を表示する single.php
固定ページを表示する page.php は必須ですね。

サイトフロントページである front-page.php は、
WordPress の表示設定でフロントページの表示を
「最新の投稿」にした場合は home.php が、
「固定ページ」にした場合は page.php が
仕事をしてくれますので不要です。
ブログ投稿インデックスである home.php は、
存在しなかった場合は index.php が動きますので、あってもなくても
よいかとは思いますが、できれば用意した方がイイと思います。

コメントポップアップページですが、イマイチ comments-popup.php が
いつ動くのかドキュメントを見るだけでは分かりませんでした。
TwentyFourteen や TwentyThirteen のデフォルトテーマにも
ファイルがなく、プログラムを追っかけるのが面倒だったので・・・
名前から察するに、コメントをポップアップウィンドウで表示させたい
ときに動くのかなぁと・・・
コメントは個別投稿ページに埋めてしまえばいいですので不要と認定。

テンプレート階層で明示されているテンプレートファイルと別に、
WordPress では特殊なテンプレートとして使用できるファイル名のものが
あります。
get_header 関数で呼び出す(インクルードする) ことができる header.php
get_footer 関数で呼び出す(インクルードする) ことができる footer.php
get_sidebar 関数で呼び出す(インクルードする) ことができる
sidebar.php 等は各ページ上下の部分や
ウィジェットを配置する部分を共通化するのに便利です。
get_sidebar 関数に文字列パラメータを指定すると、
sidebar-[パラメータ文字列].php を呼び出してくれるので、
用途や配置場所によって複数用意することも可能です。
分かりやすい名前をつけておくとよいでしょう。

この他にもオリジナルテンプレートを呼び出すための仕掛けとして、
get_template_part 関数が用意されています。
この関数に文字列パラメータを渡すと、[パラメータ文字列].php を
呼び出してくれますので、好きな名前でインクルード用のテンプレートを
用意することもできます。

これによって、各ページでは、相違があるメインコンテンツ部分だけを記述する
だけでよくなりますね。

そして、キモになるのが function.php です。
WordPress テーマ の総合的なコントロールをしたり、
独自関数を記述するファイルになります。
カスタムヘッダーやカスタム背景の利用等も
ここで記述することになりますので、必須と言っていいでしょう。
 

以下に SmartStyle で必要であると認定した基本ファイル一式を纏めます。
【自作テーマで作成すべき基本テンプレートファイル】

style.css スタイルシート
index.php インデックスページ
404.php 404エラー(NotFound)ページ
archive.php アーカイブ(一覧)ページ
search.php 検索結果(一覧)ページ
single.php 個別投稿ページ
page.php 個別固定ページ
home.php ブログ投稿インデックス(一覧)ページ
header.php ヘッダー共通パート
footer.php フッター共通パート
sidebar(-left).php サイドバー共通パート(左) ※ウィジェット配置用
sidebar-right.php サイドバー共通パート(右) ※ウィジェット配置用
function.php テーマコントロール処理 / 共通処理

これら以外にも、SmartStyleでは、拡張のために独自ファイルを
幾つか作成しました。
ですが、かなり偏った拡張のためのファイルですので、
解説の都度触れていきます。

如何でしょうか。かなりダラダラと長い文章になってしまいましたが、
参考になりましたでしょうか?

関連記事

eyecatch_template

一覧ページネーション を表示する

実は、今回から次のテンプレート作成 (の解説) に取り掛かろうと 思っていたので...

記事を読む

eyecatch_template

HTMLをデザインする [カラム装飾]

今回は、先の記事 「HTMLをデザインする [カラム]」 で カラムレイアウトを...

記事を読む

eyecatch_template

不要なヘッダーを除去する

今回は不要なヘッダーを除去してみます。 またまた時間が空いてしまってすみません・...

記事を読む

カレンダー

2024年3月
« 7月    
 12
3456789
10111213141516
17181920212223
24252627282930
31  
PAGE TOP ↑