WordPress バージョン 3.0 に同梱されている Twenty Ten テーマ で、WordPressテーマ構造を学ぶ。
Twenty Ten テーマ
WordPressのテーマは、wp-content/themes/ の中のサブディレクトリにある。
バージョン 3.0から、Twenty Ten(トゥエンティテン)がデフォルト用テーマになったので、Twenty Ten テーマ を見てみる。
Twenty Ten テーマは、wp-content/themes/twentyten フォルダーにある。
WordPressテーマ構造
WordPressテーマは、スタイルシート、テーマテンプレートファイル、テーマ関数ファイル、画像などで構成されている。
WordPressテーマを作るとき、最初から全てのファイルを用意する必要はない。スタイルシートファイル「style.css」 内で、親テーマを指定すれば、style.css ファイルと画像だけでも構わない。
style.css
Twenty Ten テーマのstyle.cssを開いてみる。
2行目から9行目には、コメントの形式で「テーマの詳細」が記述されている。
これあることで、WordPress にテーマとして識別させることが出来る。
認識すると、管理パネルで「外観>テーマ」を開くと、「テーマの管理」タブの中に表示される。
WordPress Codex 日本語版 内のテーマスタイルシートが参考になる。
15行目から、スタイルシートが記述されている。Twenty Ten テーマの色合いを変えたり、フォントの種類を変えたりするだけならば、style.cssをカスタマイズするだけで出来てしまう。
テーマテンプレートファイル
「Twenty Ten テーマ」の「wp-content/themes/twentytenフォルダー」を見ると、index.php、header.php、sidebar.php、footer.php、comments.php、category.php、search.php、page.phpなど、いくつものテンプレートファイルが存在する。ページ系とモジュール系に分けるとわかりやすい。
- ページ系テンプレートファイル
- index.php
- home.php
- category.php
- search.php
- page.php
など
- モジュール系テンプレートファイル
- header.php
- sidebar.php
- footer.php
- comments.php
- loop.php
など
これらのテンプレートファイルを、テンプレート階層ルールに基づき順番に適用していく。
適用する順番、テンプレート階層ルールは、WordPress Codex 内のテンプレート階層構造図を見ると一目瞭然。
カテゴリーページのテンプレート階層
- category-slug.php
- slugは、カテゴリのURLに指定したスラッグのこと。
- category/hoge/ の場合、category-hoge.php となる。
- category-ID.php
- category.php
- archive.php
- index.php
1から順番に、ファイルが存在するか探し、最初に見つけたテンプレートファイルを適用する。
デフォルト状態の「Twenty Ten テーマ」の場合、category-slug.php も、category-ID.php もないので、category.phpを適用することになる。
WordPress Codex 日本語版 内のテンプレート階層->仕組みと、ページ種類別テンプレート階層が参考になる。
テーマ関数ファイル「functions.php」
WordPress Codex 日本語版 内のテーマ関数ファイルの説明によると、
- テーマ内の複数のテンプレートファイルで使う関数の定義
- 色・様式・その他テーマの外観についてのオプションをユーザが設定できるようにする管理パネルの設置
などが可能らしい。配布用オリジナルテンプレートを作る時には、導入すべき機能だろうな。すばらしい。