Erweiterte Steueranfrage

Unten ist meine Steueranfrage, im Moment gibt dies alle Beiträge zurück, die mindestens einen der angegebenen Begriffe haben.

Gibt es eine Möglichkeit, dass ich nur Beiträge zurückgeben kann, die ALLE angegebenen Bedingungen haben?

[tax_query] => Array ( [relation] => AND [0] => Array ( [taxonomy] => services [field] => term_id [terms] => Array ( [0] => 3 [1] => 10 [2] => 6 [3] => 9 ) [operator] => IN ) [1] => Array ( [taxonomy] => awards [field] => term_id [terms] => Array ( [0] => 13 [1] => 12 ) [operator] => IN ) ) 

Solutions Collecting From Web of "Erweiterte Steueranfrage"

Probieren Sie [operator] => AND in beiden Sub-Arrays aus. Ich denke, das wird von meinem Lesen von WP_Tax_Query::get_sql() .

Alternativ könnten Sie die zwei Abfragen in fünf aufteilen (je nachdem, wie Sie Ihre Bedingungen erhalten, könnte es sogar einfacher sein, zu codieren).

Es wäre interessant zu wissen, ob zwischen den beiden Konstruktionen performancesunterschiede bestehen. (@Frank Martin, oder irgendjemand, es wäre toll, wenn du das tatsächlich generierte SQL teilen könntest – ich setze diese Antwort als Community Wiki.)

 [tax_query] => Array ( [relation] => AND [0] => Array ( [taxonomy] => services [field] => term_id [terms] => Array ( [0] => 3 ) [operator] => IN ) [1] => Array ( [taxonomy] => services [field] => term_id [terms] => Array ( [0] => 10 ) [operator] => IN ) [2] => Array ( [taxonomy] => services [field] => term_id [terms] => Array ( [0] => 6 ) [operator] => IN ) [3] => Array ( [taxonomy] => services [field] => term_id [terms] => Array ( [0] => 9 ) [operator] => IN ) [4] => Array ( [taxonomy] => awards [field] => term_id [terms] => Array ( [0] => 13 ) [operator] => IN ) [5] => Array ( [taxonomy] => awards [field] => term_id [terms] => Array ( [0] => 12 ) [operator] => IN ) ) 

.

Wie ich bei meiner letzten fortgeschrittenen Taxonomie-Frage herausgefunden habe, wie man URL-Parameter für erweiterte Taxonomie-Abfragen mit mehreren Begriffen für eine benutzerdefinierte Taxonomie weitergibt, wird WP genau das tun (mindestens 3.1.4), wenn Sie die Anfrage über die URL übergeben .