WordPressの『投稿』と『固定ページ』のうち、固定ページは使う機会は少なくなっているんじゃないかなと思います。固定のトップページに利用したり、プロフィール、あるいは問い合わせページなどを作るために利用しても、記事そのものは『投稿』(ブログ)を利用する方が多いと思います。

私は、当初、原理原則にのっとって、固定ページに記事を書いていましたが、ブログパーツ(ウィジェット)に関しても、投稿のほうが充実しているので、ブログを固定ページのように使い始めました。

 

そもそも『投稿』と『固定ページ』の違いとは?

管理画面の『投稿』>『新規追加』で作成できる記事とは、いわゆる『ブログ記事』です。ブログ記事は、本来、古い記事より、最新の記事に意味がある内容のものを書くことに意味があります。そのため、デフォルト設定では、記事の順番は新しいものから表示され、新規作成画面に、記事の親子関係を設定したり、順番を指定する設定がありません。

1-1

一方、管理画面の『固定ページ』>『新規追加』で作成できる記事は、旧来からのWebページ、記事そのものが階層構造を取り、記事の時系列は関係なく、親ページ、子ページを設定できます。そのため、新規作成画面にて、親ページと子ページ、記事を表示する順番を指定する設定があります。

1-2

投稿記事(ブログ記事)の階層とは、たとえば『カテゴリー』を階層構造した結果であって、記事そのものは並列なんです。だから、親カテゴリーや子カテゴリーがあっても、親ページや子ページといった設定はない。そして、最新の情報を優先的に表示するのに適した記事に向いているのが投稿であり、時系列(記事の新しさ)より、筆者が意図した順番で記事を読んで貰うのに適した記事構成にできるのが、固定ページですね。
たとえば、このサイトにある『WordPress ローカル環境の構築』という固定ページを例にあげます。

 

固定ページの記事の並び順

1-3

プラグインを使って、親ページに、子ページを一覧表示しています。親ページは『WordPress ローカル環境の構築』、子ページは、『WordPress ローカル環境の構築(第1回)』から、『WordPress ローカル環境の構築(第5回)』です。
これらの記事は、第1回から順番に書いていますから、最新の記事は第5回です。でも、第1回から順番に書いていますし、記事の並び順も順番に並べたほうがいい。そのため、『ページ属性』という設定で、『親』ページを基点に、記事をどういう『順序』で並べるか、記事作成ページに指定することができるようになっています。

1-4

固定ページとは、このように、記事の時系列ではなく、あくまで執筆者の意図により、記事の順番を指定いくようなページ製作に向いているわけです。
でも、実際は、投稿でも、固定ページを代替できる機能が付随したから、固定ページ利用の頻度が下がってしまったわけですね。

 

投稿の記事の並び順

デフォルトでは、最新のものから順番に並ぶ設定になっています。
でも、投稿を固定ページのように使う機会が増えているので、古いものから順に並べたいという場面もあります。

1-5
たとえば、左図のように4回から始まる並びを、右図のように1回目から表示したいという場面です。
プラグインを使って、管理画面の『投稿』>『投稿記事一覧』をドラッグアンドドラップで投稿記事そのものの並び順を変えるという方法もあるのですが、この方法だと不都合も出てしまいます。
たとえば、『最近の投稿』とウィジェットを使った場合、記事一覧の並び順を変えている場合、そちらにも影響が出て、『最近の投稿』の並び順も変わってしいまうのです。

おそらくなのですが、多くの人は、記事そのものを並べ替えるというより、特定の記事を抽出するアーカイブ上だけで、記事を並び替えたいという機会が多いのではないかなと思います。そのためには、管理画面の『外観』>『テーマ』の編集から、『archive.php』を編集するのが、もっとも分かりやすい方法だと思います。プラグインでやろうとすると、かえって設定が面倒になり、分かりにくくなるので。

『archive.php』は記事一覧を表示するフィルです。このファイルがない場合は、index.phpを確認することになりますが、この中に、

<?php if(have_posts()): while(have_posts()): the_post(); ?>

という記述があると思います。その上に、

<?php query_posts($query_string .’&order=asc’); ?>

という行を追加するだけで、アーカイブの並びが、デフォルトの新しいもの順から、古いもの順に変わります。アーカイブの設定が反映される記事一覧表示にだけ、影響を与えますから、『最近の投稿』といったブログパーツには影響を与えません。

長くなりますので、今回はここまでにしますが、次回は、このあたりの話、『query_posts』という条件指定タグを使い、特定のカテゴリーだけ記事の順番を並べ替えるにはどうしたらよいのかなど、投稿記事に特化した記事の並び替えを確認していきたいと思います。