【WordPress】 カテゴリーアーカイブの表示順序を変える

現在作成中の情報系サイトでは投稿日など時系列の表記していません。

ブログシステムがベースになっているため、記事の並び順は投稿日を変更することで任意に変えることが出来ますが、これにより少々問題が発生しています。
このためカテゴリーアーカイブの表示順序を変更しました。

スポンサーリンク

1.何が問題か?

個別記事の下に「次の投稿→」というリンクが出来ますが、これは「一つ新しい記事」へのリンクになります。

すなわち、このリンクをたどって全ての記事を閲覧するには

先に読ませたい記事を古い日付に変える
後に読ませたい記事を最近の日付に変える

このようにします。

category_archive_order_02b

しかしカテゴリーアーカイブは当たり前ですが新しい記事から古い記事へと並んでいます。
時系列をなくして目次として使いたいなら順序は逆です。

このカテゴリーアーカイブの表示順序を逆にしてしまいましょう。

2.カテゴリーアーカイブの表示順序を逆にする。

カテゴリーアーカイブはcategory.phpで出力されています。

これを子テーマにコピーし次のコードを追加します。

category_archive_order_03b

これでOKです。

※2013/12/04 一部訂正
カテゴリーアーカイブで全記事が表示されてしまう問題がでていました。
「カテゴリーを選択している」いう情報を維持するために以下のようにコードを変更します。

(‘order=ASC’)

($query_string .’&order=ASC’)

この「query_posts」は必ず出力ループの前に書く必要があります。

並び順の指定は、

「order=ASC」で古い記事から新しい記事へ
(昇順:小さい値から大きい値へ)

「order=DESC」で新しい記事から古い記事へ
(降順:大きい値から小さい値へ)
※省略時はDESC

となります。

ここで一点注意しなければいけないことがあります。
今回は全てのカテゴリーアーカイブの順序を変えたために必要はなかったのですが、ある条件のみで順序を変更した場合はこの変更をリセットしなくてはいけません。

それには以下のコードを使います。

出力ループが終わった箇所にこのコードを追加すればOKです。
これでデフォルトの状態に戻ります。

3.まとめ

今回は単純に表示順序の入れ替えでしたが、この「query_posts」は記事を指定条件で摘出・並び替えが出来ます。
例えば「特定投稿者のあるタグが付いている記事を古いものから並べる」など、複合条件での処理も可能です。

うまく使えば検索させるより使いやすいものが出来そうです。


スポンサーリンク
  • このエントリーをはてなブックマークに追加

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA