WordPress:特定カテゴリで投稿を古い順に表示させる方法

WordPressの投稿の表示は、デフォルトでは新しいものから表示されますよね。でも特定カテゴリーでは反対(投稿した順番)で表示したい場合がありますよね。そう言う場合の記述方法の一例です。

記述方法

場所は何も設定してなければ、
URL/wp-content/themes/内の、使用しているテーマのフォルダ内にある、
function.php
に以下のように記述します。

<?php
function my_pre_get_posts($query) {
    if (is_category(array('abc','def'))) {
        $query->set('order', 'ASC');
    }
}
add_action('pre_get_posts', 'my_pre_get_posts');
?>

カテゴリー名が”abc”一つの場合:is_category(‘abc’)
カテゴリー名が2個以上ある場合:is_category(array(‘abc’,’abcdef’)))

表示順を先に投稿したものから表示したい(小さい順)にしたい場合:
$query->set(‘order’, ‘ASC’);
表示順をランダムにしたい時:
$query->set(‘orderby’, ‘rand’);

これで指定カテゴリの投稿が新しいものからでなく、古いもの、またランダムに表示されるようになります。

phpについてはあまり詳しくないので、一例として。
間違えていたらすいませんが、とりあえず現在、3つのサイトで正常に動作できてます。

Google AdS



関連記事

MySQL移行ツールにて移行

MySQL 5.5→5.7への移行手順:XSERVER(エックスサーバー)にて


数年ぶりに新規でワードプレスを使用したサイトを作ったのですが、MySQLのバージョン、5.7しか新規では追加できないよう…

記事を読む▷


サーバー移転の手順 その3:移転後のトラブル


前回、前々回と書きましたが、サーバーの移転、少々、いや、かなりやいこしいです。できたあとは疲れ果てて『もーできたしえーわ…

記事を読む▷


WPでin_categoryが効かない!サイドバーが出てこない!原因と対処(解決)方法


管理しているサイトでカテゴリー単位で色々「in_category」で分岐してサイドバーの出し分けをしていたのですが、ある…

記事を読む▷


WordPressでリダイレクト:『.htaccess』の書き方まとめ


『.htaccess』は変更する頻度が少ないので、変更する時に勉強して把握しても、一度変更してしまえばそれでおしまい!と…

記事を読む▷


SNS等の公式ロゴ(アイコン)素材のまとめ(Facebook, Instagram, Youtube, Twitter, Line etc.)


一度サイトを作ってしまうとなかなか更新せず使い回してしまうのが、この『SNSのロゴ(アイコン)』だと思うのですが、サイト…

記事を読む▷


Message

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください