複数のカスタムフィールドの値で記事を並び替える
- 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