ワードプレスのカテゴリ一覧などを任意に並び替えて表示。最終更新日を最初に表示させたい時など状況によって表示順を変えたい時の方法です。
デフォルトでは投稿日が新しい順で記事一覧が表示されますが、以下方法で表示順を好きなように並び替えることができます。
例 リライト記事(最終更新日)を元に並び替え
function my_change_order( $query ) {
if( $query->is_category() ) {
$query->set('order', 'DESC');
$query->set( 'orderby', 'modified' );
}
}
add_action( 'pre_get_posts', 'my_change_order' );
古い記事を最初に表示したければ、‘order’, ‘ASC’に変更
例 特定のカテゴリーを除外したい場合
function my_change_order( $query ) {
if (!in_category(array( 'slag-1','slag-2'))) {
if( $query->is_category() ) {
$query->set('order', 'DESC');
$query->set( 'orderby', 'modified' );
}
}
}
add_action( 'pre_get_posts', 'my_change_order' );
slag-1、slag-2の部分を除外したいカテゴリのスラッグ名に変えてください。
ホーム、カテゴリー、検索などそれぞれに指定することもできます。
function my_change_order( $query ) {
if ( $query->is_home() ) {
$query->set( 'orderby', 'comment_count' );
} elseif ( $query->is_category() ) {
$query->set( 'orderby', 'modified' );
} elseif ( $query->is_search() ) {
$query->set( 'order', 'DESC' );
$query->set( 'orderby', 'date' );
}
}
add_action( 'pre_get_posts', 'my_change_order' );
