WordPressのテンプレートってどうなってるの?

もももに入社してから、仕事として初めてWordPressに触ったのですが、WordPress楽しすぎます!触れば触るほど大好きになるWordPress!

そんなWordPressの魅力をご紹介できればの第一回目です。

まずはWordPressのテンプレート階層について、ゆる〜く解説したいと思います。

WordPressのテンプレートってどうなってるの?

WordPressのテンプレートを作る

WordPressのテンプレートを作るのは、とっても簡単!まずはWordPressの /wp-content/themes ディレクトリの中に、好きなディレクトリを作り(ディレクトリ名に日本語はやめようね)、その中に index.phpstyle.css があれば、実はもうテンプレートとしては機能してしまうのです!まあ、びっくり。

style.css の中にはサイトで使うCSSを記入できるのはもちろん、作成するテンプレートの情報を記入します。style.css に記入された内容が管理画面の「外観」→「テーマ」で表示される説明になります。ファイルの中身については、今回は詳しく説明しないので、自分で調べてみてね♡

管理画面で、テンプレートのイメージ画像を追加したい場合は、screenshot.png という名前の画像ファイルをテンプレートのディレクトリに入れておくと認識されます。

さて、サイトのトップページのみ、デザインを変えたい!というパターンは多いと思うのですが、その場合は、front-page.php というファイルを作ると、トップページは、front-page.php が読み込まれるようになります。

WordPressのテンプレートってどうなってるの?

固定ページと投稿ページ

WordPressのテンプレートで大きな分岐になるのが、page.php(固定ページ)、single.php(投稿ページ)の違いだと思います。基本的には、管理画面の「固定ページ」で登録した内容を表示させるのが page.php で、管理画面の「投稿」で投稿された内容を表示させるのが single.php です。

基本的には、としたのは、実際に稼働しているテンプレートの中には page.php に「投稿ページで投稿された記事が表示されている」ケースもあるからです。(なぜそんなケースが生まれるかはまた別の機会に)

固定ページについては page.php のみで完結できますが、投稿ページについては、single.php だけでは足りません。single.php は記事の詳細を表示するテンプレートなので、記事の一覧を表示するテンプレート、archive.php(アーカイブ)が必要になります。

WordPressのテンプレートってどうなってるの?

記事はカテゴリ分類されるよ

WordPressでは、記事を投稿すると、必ずカテゴリ分類されます。カテゴリに分類されたくない!と思っても、「未分類」というカテゴリに強制的に分類されてしまうんです。

どうせカテゴリ分類されてしまうなら、カテゴリ毎にテンプレートを変えたいよ、という人は、archive.php ではなく、category-{slug}.php もしくは category-{id}.php を使うと、カテゴリ毎に記事一覧をそれぞれ変更できるようになります。
一般的なブログには、月一覧で表示されることがありますが、月一覧には date.php が用意されています。複数の投稿者が居て、それぞれの記事一覧を作りたい、という場合には、author-{nicename}.php もしくは author-{id}.php が利用できます。

記事一覧が表示されるファイルについて

え?一覧は全部同じデザインなのに、category.php、date.php、author.php って全部用意していかなきゃいけないの?
と思わず心配してしまった方、ご安心ください。そのような時は、archive.php を一つ用意すれば、どの一覧であっても archive.php が表示してくれます。

では、archive.php も無かった場合、どのファイルに記事一覧が表示されるのでしょうか?

そうです!一番最初に index.phpstyle.css さえあればWordPressのテンプレートとしては機能する、とご紹介した index.php に表示されます。page.php が無かった場合も、index.php に表示され、single.php が無かった場合も、index.php で表示されます。「index.php と style.css さえあればWordPressのテンプレートとしては機能する」の意味がなんとなくご理解いただけましたでしょうか・・?

今回ゆる〜く解説したWordPressのテンプレート階層については、公式のマニュアルで詳しく説明されています。
http://wpdocs.osdn.jp/テンプレート階層