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つのサイトで正常に動作できてます。



関連記事

サーバー移転の手順 その2:データベースの移行(phpMyAdminを使って)


前回サーバ移転の手順 その1:サーバーからサーバーへの移行(同サーバー(EXTREM)同士)からの続きです! って…

記事を読む▷


RSSフィードを設置してすぐにエラーが…


恥ずかしながら、RSSフィードを管理している全てのサイトに設置していませんでした。やろうやろう。とは思ってたのですが、ど…

記事を読む▷


Google Analyticsに設定する『グローバルIPアドレス』を確認&取得する方法


で「自分のアクセスを除外」するフィルタを設定し、自分のアクセスはカウントしないようにしていたのですが、ある修正作業をして…

記事を読む▷


WP Social Bookmarking Lightを好きな場所に設置、移動する方法


WP Social Bookmarking Lightを好きな場所に設置、移動する方法です。 以前、自分で管理している…

記事を読む▷


Thumbnail_Icon_firefox_bug

Firefoxでなぜか消える、Tableのborder対策、cssのみでの解決法


Firefoxでなぜか消えてしまうTableのborder、いつもじゃなく、たまになのでこれがやっかい。。原因がわからな…

記事を読む▷


Message

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

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

PAGE TOP