WordPressでは基本的に投稿が最新のものが上に表示されますが、投稿日が古い順に表示することも可能です。
単に投稿一覧を古い順にすることもできますし、特定カテゴリーの記事の順番を並び替えることもできます。
投稿一覧を並び替える方法
単に投稿一覧を古い順にする場合は以下のコードをfunctions.phpに記述します。
functions.php
function postt_order( $query ) {
$query->set(‘order’, ‘ASC’);
$query->set(‘orderby’, ‘date’ );
}
add_action( ‘pre_get_posts’, ‘post_order’ );
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’ );
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’ );
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