カスタムフィールドを含む複数の条件でソートをする【WordPress】
| HTML/CSS/PHP、WordPress複数の条件でソートする方法
初歩的なことですが、忘れてたのでメモメモ
通常のソートは
$args = array(
'post_type' => 'post',
'posts_poer_page' => 12,
'orderby' => 'date',
'order' => 'DESC'
);
$query = new WP_Query($args);
とまぁこんな感じですよね。
それを複数になるとこんなイメージ
$args = array(
'post_type' => 'post',
'posts_poer_page' => 12,
'orderby' => array(
'title' => 'ASC',
'date' => 'DESC'
)
);
$query = new WP_Query($args);
と、orderbyに配列で指定するだけです。
んでカスタムフィールドを含む場合はこうです。
$args = array(
'post_type' => 'post',
'posts_poer_page' => 12,
'orderby' => array(
'meta_value' => 'ASC',
'date' => 'DESC'
),
'meta_key' => 'rank'
);
$query = new WP_Query($args);
上の複数の状態にmeta_keyを指定するだけです。
ついでに、複数のカスタムフィールドでソートするのはこうです。
$args = array(
'post_type' => 'post',
'posts_poer_page' => 12,
'meta_query' => array(
'relation' => 'AND',
'pickup' => array(
'key' => 'pickup',
'type' => 'BINARY'
),
'cost' => array(
'key' => 'cost',
'type' => 'NUMERIC'
)
),
'orderby' => array(
'pickup' => 'DESC',
'cost' => 'ASC'
)
);
$query = new WP_Query($args);
meta_query使って、名前つけて、orderbyで指定する。
まぁ、基礎中の基礎ですが、使ってないと忘れるものですね。
ほな、また