WordPress

WordPressでカテゴリーの投稿一覧を投稿日が古い順(昇順)で表示する方法

WordPressでは基本的に投稿が最新のものが上に表示されますが、投稿日が古い順に表示することも可能です。

単に投稿一覧を古い順にすることもできますし、特定カテゴリーの記事の順番を並び替えることもできます。

投稿一覧を並び替える方法

単に投稿一覧を古い順にする場合は以下のコードをfunctions.phpに記述します。

functions.php
function postt_order( $query ) {
 $query->set(‘order’, ‘ASC’);
 $query->set(‘orderby’, ‘date’ );
}
add_action( ‘pre_get_posts’, ‘post_order’ );

orderで並び順を指定しているのですが、「ASC」だと古い順(昇順)、「DESC」だと新しい順(降順)になります。

また、orderbyでは、何を基準に並び替えをするのかを指定しており、「date」だと投稿日が基準なので、古い順もしくは新しい順に並び替えができるというわけです。

他にはtitle(タイトル順)やrand(ランダム)で表示順を変えることができます。

全カテゴリーの投稿一覧を並び替える

カテゴリーページの投稿一覧を古い順にする時は、以下のコードをfunctions.phpに記述します。

functions.php
function postt_order( $query ) {
 if( $query->is_category() ) {
  $query->set(‘order’, ‘ASC’);
  $query->set(‘orderby’, ‘date’ );
 }
}
add_action( ‘pre_get_posts’, ‘post_order’ );

最初のコードと違うのは、「if( $query->is_category() ) { 〜 }」という条件分岐があるという点です。

特定カテゴリーの投稿一覧を並び替える

特定カテゴリーページの投稿一覧を古い順にする時は、以下のコードをfunctions.phpに記述します。

functions.php
function postt_order( $query ) {
 if(is_category(array( ‘カテゴリーのスラッグ名’))) {
  if( $query->is_category() ) {
   $query->set(‘order’, ‘ASC’);
   $query->set(‘orderby’, ‘date’ );
  }
 }
}
add_action( ‘pre_get_posts’, ‘post_order’ );

さっきのコードと違うのは、「if(is_category(array( ‘カテゴリーのスラッグ名’))) { 〜 }」という条件分岐が追加されている点で、カテゴリーのスラッグ名はカンマで繋げることで複数のカテゴリーを指定することもできます。

Leave a Comment