tamakipedia

鎌倉でフロントエンドエンジニアをしています。Wordpress/Javascript/JQuery が得意で、現在React勉強中です!

【wordpress】ループでのスタムフィールドを使った並び替え

最近wordpressを書く機会が多くなってきました。
今回はループを使った処理について。

カスタムフィールどを使った並び替え

meta_keymeta_valueを利用します。

  $args = array(
    'orderby' => 'meta_value' 
    'post_type' => array('post_type'), //投稿タイプ
    'meta_key' => 'key', //カスタムフィールドのキー
    'meta_value' => 'value' //カスタムフィールドの値
    'order' => 'ASC'
  );
  $the_query = new WP_Query($args);

  if($the_query->have_posts()){
    while($the_query->have_posts()){
      $the_query->the_post();
        //処理
    }
  }
  wp_reset_postdata();

値が数字の場合

値が数字の場合は 'orderby' => 'meta_value_num', を使うと
カスタムフィールドの値が文字列ではなく数字として読み取ってくれます。

array(
  'orderby' => 'meta_value_num',
  'meta_key' => 'score',
  'order' => 'DESC',
  'meta_value' => 'value' //カスタムフィールドの値