[wordpress/php] WP_Queryでカスタムフィールドを検索する
WP_Queryでカスタムフィールドを検索するには以下のコードを実装する
$args = ['post_type' => 'post']; $args['meta_query'][] = array( array('key' => '[検索したいフィールド]', 'value' => '[検索したい値]', 'compare' => '=', 'type' => 'NUMERIC'),); //typeは情報のタイプ $the_query = new WP_Query($args); if ( $the_query->have_posts() ) { while( $the_query->have_posts() ) { $the_query->the_post(); //あとは適当に処理 } wp_reset_postdata(); }
compareで使用できる値は「‘!=’, ‘>’, ‘>=’, ‘<‘, ‘<=’, ‘LIKE’, ‘NOT LIKE’, ‘IN’, ‘NOT IN’, ‘BETWEEN’, ‘NOT BETWEEN’, ‘NOT EXISTS’, ‘REGEXP’, ‘NOT REGEXP’ ,’RLIKE’」ちなみにデフォルトは ‘=’