WordPressで構築中、投稿を古い順で並び変えたいことがあると思います。今回はその方法をお伝えします。
投稿を古い順に並び変える
メインループ通常投稿を古い順にするためには以下のコードをfunction.phpに書くことにより投稿を逆にすることができます。
function change_old( $query ) {
$query->set('order', 'ASC');
$query->set('orderby', 'date' );
}
add_action( 'pre_get_posts', 'change_old' );
$query->set(‘order’, ‘ASC’);により投稿を昇順にすることができます。逆に$query->set(‘order’, ‘DESC’);で投稿を降順(デフォルト)にできます。
そして次に何に対して並び替えをするか設定します。$query->set(‘orderby’, ‘date’ );で日付を基準に並び替えします。orderbyの値を変えることにより投稿データの並び替え項目を変更できます。
カスタム投稿、サブループの順番を変える
<?php
$query = new WP_Query(array(
'post_type' => "news",
'order' => 'ASC',
'orderby' => 'modified',
));
if($query->have_posts()){
while($query->have_posts()){
$query->the_post();
?>
<h1><?php the_title(); //記事タイトル表示 ?></h1>
<p><?php the_content(); //記事内容表示 ?></p>
</div>
<?php
} //記事の繰り返しの終了
}else{
echo '随時更新中';//記事が無かった場合の内容
} //記事の有無の分岐終了
wp_reset_postdata();
?>
よくあるサブループでカスタム投稿を表示させるループです。
new WP_Query($args);の設定に基づいてクエリを作成しています。array()の配列に対して
‘order’ => ‘ASC’,
‘orderby’ => ‘modified’,
を入れます。メインループでやったorderとmodifiedを設定し更新が昇順になります。
コメント