スポンサーリンク

投稿を古い順に表示する

カテゴリページなどで表示される投稿は新しい順に一覧表示されますが、何らかの手順をまとめたカテゴリなど、古い順に時系列で表示したいカテゴリもあります。次の例では、投稿がステップ(3)からステップ(1)へと表示されますが、手順を追いかけるページなので逆にした方が読みやすいかもしれません。

投稿は新しい順に表示される

投稿は新しい順に表示される

その場合、テーマのfunctions.phpに次のように記述します。

function my_pre_get_posts($query) {
    if (is_category('app')) {
        $query->set('order', 'ASC');
    }
}
add_action('pre_get_posts', 'my_pre_get_posts');

ここでは、「app」というスラッグのカテゴリページで投稿を古い順番に表示しています。使われている命令を簡単に紹介します。

  • is_category('app') → もしもappカテゴリならば
  • $query->set('order', 'ASC'); → 表示順(order)を昇順(ASC:ascending order:小さい順のこと)に

これにより、指定カテゴリの投稿が古い順に表示されるようになります。

指定カテゴリのみ古い順に表示される

指定カテゴリのみ古い順に表示される

投稿をランダム順に表示する

クイズのページなど、一覧表示するときに表示順をシャッフルしてランダムな順番で表示したい場合、「$query->set('orderby', 'rand');」と指定します。

function my_pre_get_posts($query) {
    if (is_category('yomenai')) {
        $query->set('orderby', 'rand');
    }
}
add_action('pre_get_posts', 'my_pre_get_posts');

これにより、カテゴリページで投稿がランダム順に表示されるようになります。

漢字クイズがランダム順に表示される

漢字クイズがランダム順に表示される

この記事をSNSで共有する
WordPressでお困りのときはご相談を
この記事を書いた西沢直木が直接、WordPress個別サポートで対応します。
WordPressの使い方・カスタマイズ・トラブル対応など、ご相談ください。
お問い合わせはこちらから
【対応料金の見積もりは無料です】
wordpress講座受講予約
WordPress講座の問い合わせ先

関連記事

スポンサーリンク