WordPress 記事のソート

nissy 157views 更新:2016年5月24日

WordPressでの記事のソートは、orderorderbyを用いて行っているようです。
記事表示のループの中に以下のような関数を使うことで、順番を変えることが出来ます。

/* orderは、昇順か降順かを決定、orderbyは、並び替える条件を決定 */
<?php query_posts(‘order=ASC & orderby=meta_value&meta_key=hoge’);?>

デフォルトでの並び替える条件の種類は、以下のリファレンスに詳しく書いてあります。

WP_Query 関数リファレンス

追記

query_postsよりpre_get_postsのフックを利用したほうが良いそうです。(自由なソートが行える!!)

//pre_get_postsの使用例

function pre_get_posts_custom($query) {
/* 管理画面,メインクエリに干渉しないために必要な処理 */
  if( is_admin() || ! $query->is_main_query() ){
      return;
  }

 /* カスタム投稿アーカイブ***ページで、カスタム投稿タイプ:***でタクソノミーform内にあるタームAの記事を取得する */
  if( $query->is_post_type_archive( '***' ) ){
   $taxquery = array(
        array(
           'taxonomy' => 'form',
           'field' => 'slug',
           'terms' => array( 'A' )
        )
   );

   $query->set( 'tax_query' , $taxquery );
  }
}

add_action( 'pre_get_posts', 'pre_get_posts_custom' );

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません