WordPress tax_queryでデータ取得できなかった
1 2 3 4 5 6 7 8 9 10 11 12 |
$args = array( 'post_type' => 'company', 'tax_query' => array( array( 'taxonomy' => 'my-taxonomy', 'field' => 'slug', 'terms' => 'myterm', ), ), ); query_posts( $args ); |
検索して結果が0件でした。
$query = new WP_Query($args);
print_r($query);
で確認したところ、
生成されたSQLのWHERE条件に
下記のようなSQLが出力されます。
AND wp_posts.ID NOT IN (32)
AND 0 = 1
AND …
そのおかげで検索結果が0件になります。
どうやら、WordPressでは、
tax_query 条件句を
メインクエリに追加される前に、
tax_query条件で検索し、ヒントしなかった場合、
0 = 1
をメインクエリに追加されるらしい。
私の場合、
タクソノミーの名前に問題があるようで、
定義したタクソノミーの名前:my-taxonomy
そのままの名前で検索を行うと、0件になります。
my_taxonomy
に変更したところで、
1 |
'taxonomy' => 'my_taxonomy', |
うまくいきました。