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



関連記事

Database Search and Replace Script in PHP

ドメイン&WordPressを含むサイトの引越しでの、URL変更作業:『DATABASE SEARCH AND REPLACE SCRIPT IN PHP』を使って


最近サーバー移転をして、その時々に起こった問題や注意点を記事にしてましたが(301リダイレクトの記述方法、URLの正規化…

記事を読む▷


お名前.com から脱出する!:ドメインの移管方法


『お名前.com』でドメイン取得してからは、『Whois情報公開代行』の件(詳細はこちら)で大変な思いをしたのですが、そ…

記事を読む▷


日付を自動更新で表示させる! 簡単コピペ!!


先週『日付を毎月変えるの邪魔くさいし、サイトに書いてる日付とってくれへんやろか?』という依頼がありました。 とって…

記事を読む▷


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

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


サンプルシステムを表示するために新たにDBを追加したところ、今までの使っていたDB「MySQL 5.7」ではなく、「Ma…

記事を読む▷


cron設定で対策する方法!XSERVERの設定画面

WordPressサイトが遅い原因は「PHPのスリープ」かも?cron設定で対策する方法!XSERVERにて


管理しているWordPress(ワードプレス)のサイトをチェックする時、『最初だけ』いっつもおっそいなぁ。 と思ってたん…

記事を読む▷


Message

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

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