WordPressの「設定」>「表示設定」のところではトップページを「固定ページ」にするか「最新の投稿」が表示されるかを選択することができます。トップページを「最新の投稿」にする場合は良いのですが「固定ページ」に設定する場合に良く分からないことがあるかもしれません。
この「投稿ページ」って何??って思いませんか。
トップページにしたい固定ページを設定するのは分かりますが、なぜここで「投稿ページ」を選択させるのでしょう?しかも「投稿ページ」の選択肢が固定ページを選択する形になっています。ここではそれがどういう意味なのかについてお話していきます。
まず、WordPressにはブログのように投稿し更新されていく「投稿ページ」と「固定ページ」の2つがあることはご存知だと思います。そして、WordPressを使われている方の多くは、その両方を使っていると思います。
トップページに「最新の投稿」を選択した場合は問題ありませんが、もし「固定ページ」をトップページにしてしまった場合、ひとつ不具合なことが起きてしまうのです。
それは、投稿ページ(つまり、ブログページ)のトップページにあたる最新の投稿が時系列で表示されるページがサイト内にどこにも存在しなくなってしまうのです。カテゴリやタグなどの一覧ページはあるのですが、それらの投稿を時列で表示するページがないのはサイトとして少し不自然というか不便なことになってしまいます。
例えば、みなさんのブログのファンができたとしましょう。ファンの方たちはあなたの新しい記事をアップしたら、それをきっと読みたいに違いありません。
「新しい記事がアップされたかな?」
楽しみにあなたのサイトに訪問しますが、ファンの方たちは最新の記事がアップされているかどうかを確認できません。なぜなら、最新の記事を時系列で表示してくれるページがサイト内のどこにもないからです。
このような不具合が起きないように設定するのが「投稿ページ」なのです。ここでは、固定ページを選択するようになっているのは、「最新の投稿を時系列で表示するページのURLを設定する」ことが目的だからです。そのため、選択された固定ページは「URLだけ」を提供する形になります。つまり、固定ページに何か入力されていたとしても「投稿ページ」として選択された段階で、中身は一切表示されなくなり「最新の投稿」だけが表示される仕組みになっています。
つまり、あらかじめ「最新の投稿」を表示させたいURL(スラッグ)を決めておく必要があります。そして、それを空の「固定ページ」として作成し、URLだけを設定します。
最後に、ひとつ注意点があります。今後、テンプレートをカスタマイズしたい方が陥りがちな誤解ですが、「固定ページ」をトップページに設定したときの「投稿ページ」は、「アーカイブ」ではなくて、「ブログ投稿インデックス」ページです。
テンプレートが適用される優先順位は、
home.php > index.php
という2つだけです。私は過去に「ブログ投稿インデックス」をカスタマイズしたくて、「archive.php」や「paged.php」をサーバーにアップさせて「反映されない!?」とか困ったことがありました。
みなさんは同じようなことをしてしまわないように、気をつけてくださいね。