複数のカスタムフィールドの値で記事を並び替える
- 2016.10.31
- CMS Wordpress
- Advanced Custom Fields, 並び変え, 複合条件
例)
カスタムフィールドの値を元に、それぞれ降順に並び替える。
・sort_parent_id
・sort_child_id
・記事更新日
※Wordpress4.2以降
<?php
/**
* 投稿タイプharapekoの並び順を変更する
* 並び順:sort_parent_id降順、sort_child_id降順、更新日降順
* @param array $query
*/
function change_query_harapeko_archive($query){
if( !$query->is_admin() && $query->is_post_type_archive( 'harapeko' ) ) {
$meta_query = array(
'relation' => 'AND', //meta_queryの配列が1つの時は指定しない
'meta_sort_parent_id' => array(
'key' => 'sort_parent_id', //カスタムフィールドのキー
'type' => 'NUMERIC', //カスタムフィールドの値のタイプ
),
'meta_sort_child_id' => array(
'key' => 'sort_child_id', //カスタムフィールドのキー
'type' => 'NUMERIC', //カスタムフィールドの値のタイプ
)
);
$orderby = array(
'meta_sort_parent_id' => 'DESC',
'meta_sort_child_id' => 'DESC',
'date' => 'DESC'
);
$query->set('meta_query', $meta_query);
$query->set('orderby', $orderby);
//var_dump($query); wq_query配列の確認に使いました
}
}
add_filter('pre_get_posts', 'change_query_harapeko_archive');
参考サイト
-
前の記事
ベーシック認証がかかったページからファイルを読み込む 2016.10.31
-
次の記事
セルの中から数字のみを別のセルに移す 2016.11.01