特定のカテゴリをカスタム分類で絞り込み検索をし、カスタムフィールドキーと値で独自に並べ替えをしたいときのコードの覚書です。
例:カテゴリ:drink、Taxonomy:vitamin、Term:vitamin_c
//————————————————————————— //カテゴリとtermの絞り込み検索し、customfield-valueの多い順で並べ替え //例:data.com/drink/?vitamin=vitamin_c //————————————————————————— function change_query_term($query){ if( !$query->is_admin() && $query->is_tax() ) { if( !empty($_GET['vitamin']) ){ $v_term = $_GET[vitamin];//customfield-key $meta_query[] = array( array( 'key'=> $v_term, 'value'=>'100', 'compare'=>'>', //100より大きい 'type'=>'DECIMAL' ) ); $orderby = array( 'meta_value_num' => 'DESC' ); $query->set('meta_query', $meta_query); $query->set('orderby', $orderby); $query->set('posts_per_page', 100);//100件表示 } // var_dump($query); } } add_filter('pre_get_posts', 'change_query_term');
参考サイト:
・WordPressのサイト上で簡単に並び替え&絞り込みする方法
・複数のカスタムフィールドで記事を並び替える