ワードプレスの自作テンプレート

当サイトは現在のところ、ワードプレスで使われるテンプレートの内、以下のファイルを使用しています。他のファイルも読み込んでいますが、それらは当サイト独特のものであるため、ワードプレスを動作させるのに必要ありません。以下は自作テンプレートで一般に使われていると思われるファイルですが、種類によっては用意しなくても問題なありません。

  1. style.css
  2. header
  3. index
  4. single
  5. page
  6. sidebar
  7. archive
  8. footer
  9. screenshot.png
  10. search
  11. searchform
  12. 404
  13. functions

上記で拡張子を振ってないファイルはすべて「.php」です。

style.css

style.cssはcssを記述するファイルですが、テンプレートを認識させるために必要なファイルでもあります。「Theme Name:テーマの名前」「Theme URL:テーマのサイトのアドレス」「Version:バージョン情報」「Description:テーマの説明」「Author:作者の名前」「Tags:タグ情報」「License:ライセンス情報」「License URI:テーマライセンスのURI」などを記入します。また、「Theme Name」の記述は必須です。

header

headerはページ最上部で使われるもので、descriptionなどのname属性、title、viewportといったものを記入します。</head>で終える必要はありませんが、このタグより上にワードプレスで必要となるメタ情報を出力する「wp_head();」を記述しなければなりません。

index

indexは、トップページに当たるファイルですが、マルチサイトで同じテーマを使う場合も子サイトにおいてトップページで利用されます。

single

singleは個別投稿を表示するテンプレートで、いわゆる記事本文に使われる部分です。

page

pageは、個別投稿ページを表示させます。グローバルナビゲーションのリンク先のテンプレートとして使われることが多いです。singleとよく似ていますが、基本的には普段の投稿に使われるsingleとは別の位置づけになっています。現在のところ、両者はデータベース内で同じテーブルに格納されています。

sidebar

sidebarは、基本的にすべてのページで表示されるテンプレートで、これには個別投稿だけでなく、個別投稿ページ、カテゴリー、検索結果などあらゆる場所で再利用されます。ただし、条件分岐によってカスタマイズすることが可能です。

archive

archiveはカテゴリーの代用にも使えます。読み込まれる順番は、category-{slug}.php、category-{id}.php、category.php、archive.php、index.phpです。つまり、一番目が無ければ二番目、二番目がなければ三番目というふうに、条件分岐によって使用するテンプレートファイルを探してくれます。archiveの場合、四番目に呼び出されます。

footer

footerは、その名の通り、最後尾に位置するテンプレートです。ウィジェットなどが配置され、</body>より上にワードプレス固有のタグを出力する「wp_footer();」を記述します。

screenshot.png

screenshot.pngは管理画面のテーマ画像のサムネイルとして表示されます。

search

searchは検索結果を返すためのテンプレートです。

searchform

searchformは、検索フォームのボックス部分を表示させるためのものです。

404

Not Foundを返してくれます。サーバ側で特に設定しなくても存在しないページに対してHTTPステータスコード404を出力します。404は「未検出」「見つかりません」を意味します。通常の404とは別に「ソフト404」というものもありますが、こちらは404ページに見えてもステータスコード200を返しています。通常の使い方である限りワードプレスの404テンプレートは、ステータスコード404を返します。

functions

functionsはテーマで使用する関数を記入します。「wp_head();」や「wp_footer();」に出力されるワードプレス固有のタグを表示、非表示にしたり、ページそのものの内容を一定のパターンに書き換えることが可能です。また、別途プラグインを作成すれば、このファイルと同じようなことが実現できます。

尚、拡張子をふってないファイルは.phpです。