カスタム投稿タイプから投稿を取得するためにカスタムクエリを使用しています。問題があるので、WP_Queryオブジェクトでprint_rを使用しましたが、奇妙なことがわかりました。
my query has these arguments:
'post_type' => 'event'
,'tax_query' => array(
array(
'taxonomy' => 'event-categories'
,'field' => 'id'
,'terms' => 72
,'operator' => 'IN'
)
)
,'order' => 'ASC'
);
$query = new WP_Query( $args );
そしてtax_query部分を削除するとすべての投稿が表示されますが、含めると何も表示されません。分類IDが72の投稿が複数あることを確認します。投稿の種類を指定してprint_r($ query)を見ると、次のようになります。
WP_Query Object
(
[query_vars] => Array
(
[post_type] => Array
(
[0] => media_player
[1] => ada_slides
[2] => closings
[3] => staff
[4] => post
[5] => page
)
私が欲しかったもの、イベントを除いて、私のすべての投稿タイプがリストされています。引数からtax_queryを取り出すと、次のようになります。
WP_Query Object
(
[query_vars] => Array
(
[post_type] => event
[order] => ASC
...等々
また、演算子をNOT INに変更すると、正しい投稿の種類が検索されますが、検索するカテゴリは除外されます。
Tax_query引数を使用するとpost_type引数が無効になり、代わりにすべての投稿タイプが含まれるようになったのはなぜですか?
プラグインの競合であることが判明しました。目に見えない利点を得るために、一度にすべてのプラグインをオフにしていましたが、作業していたサイトで他のものを実行できるようにするために、もう少しオンにしました。
問題はEasy Custom Content Typesプラグイン(aとてもの便利なプラグイン)にあり、私はそれの開発者に相談しています。最新版もないかもしれないので、彼はすでにそれを修正しているのかもしれません。