WB名古屋のネタその4です。カスタム分類のクエリです。
WP3.0では、複数のカスタム分類のクエリは未対応(mysqlに直接する方法はありますが)でした。
※今回の記事はcodexが未整備のため、ソースを読みながら行っていますが、全ての検索オプションを検証しきれていませんのでご注意ください。※
3.1 では、tax_query
引数が追加されました。複雑なクエリを発行できるようになりました。
$query = new WP_Query( array( 'tax_query' => array( 'relation' => 'OR', array( 'taxonomy' => 'areas', 'field' => 'slug', 'terms' => 'hokkaido,tokyo' 'operator' => 'IN' ) ) ));
relation
は、検索方法(taxonomy.php
を読むと、ORまたはAND、デフォルトANDらしいです)を指定します。
taxonomy
は分類名、terms
はタームスラッグ/IDです。field
でタームスラッグ/IDのどちらで指定するかを指定します。operator
は検索条件を指定します。codexでは’LIKE’, ‘NOT LIKE’, ‘IN’, ‘NOT IN’, ‘BETWEEN’, ‘NOT BETWEEN’となっていましたが、taxonomy.php
を読むと、’AND’, ‘IN’, ‘NOT IN’ のようです。