スポンサーリンク

【WordPress】投稿・カスタム投稿を古い順に表示させたい

WEBdesign
スポンサーリンク

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を設定し更新が昇順になります。

コメント

タイトルとURLをコピーしました