WordPress tax_queryでデータ取得できなかった

検索して結果が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
に変更したところで、

うまくいきました。

WordPress get_query_var注意点

WordPress でフォームからの情報を取得する際、get_query_varを利用します。
その注意点がありますので、メモします。

get_query_varを利用する際、
各ページ毎で取得できるクエリ変数が異なります。

取得できないクエリ変数の場合
クエリ変数を登録してあげる必要があります。

■参考記事