【wordpress】ループでのスタムフィールドを使った並び替え
最近wordpressを書く機会が多くなってきました。
今回はループを使った処理について。
カスタムフィールどを使った並び替え
meta_key
とmeta_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' //カスタムフィールドの値