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

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

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

style.css

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

header.php

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

index.php

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

single.php

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

page.php

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

sidebar.php

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

archive.php

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

footer.php

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

screenshot.png

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

search.php

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

searchform.php

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

404.php

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

functions.php

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