WordPress-Abfrage mit Elementen aus mehr als einer selbstdefinierten Taxonomie als `Term`-Argument

Also arbeite ich mit einer gekauften Version eines Plugins (WP Catalog, sorry, dass ich nicht mehr Links als 2 posten kann) als Basis für meinen Code für eine Website, an der ich gerade arbeite, und ich passe das an, so dass es möglich ist für eine Website verwendet werden, die ich versuche zu machen. Die Sache ist, anstelle der Standardkategorien als Felder schrieb der Schreiber des Plugins eine Taxonomie wpccategories für die Kategorien der Beiträge. Meine Posts sind also alle Produkte eines Shops und ich möchte dem Kunden Alternativen des Produkts zeigen. Ich benutze eine Abfrage, die 3 andere Produkte aus den gleichen wpccategories also mit demselben term->slug wie der term->slug des aktuellen Produkts, natürlich ohne das Produkt selbst. Andernfalls wäre die Alternative eines Produkts das Produkt selbst.

Ich bin fertig damit und alles funktioniert einwandfrei (wird den Code darunter zeigen) Allerdings sind die meisten Produkte in mehr als einer wpccategories und einige dieser Kategorien haben weniger als 3 Produkte als Alternativen zu zeigen. Also was ich will ist, dass, wenn sagen wir, die ersten wpccategories haben nicht genug Produkte, um als Alternativen zu zeigen, das System schaut auf die zweite (etc.) wpccategories nach Alternativen zu suchen.

So habe ich es jetzt gemacht (PHP):

 global $post; $id1 -> current_id; $terms = get_the_terms($id1, 'wpccategories'); $exclude = array($id); foreach ($terms as $term) { } $args = array( 'taxonomy' => 'wpccategories', 'post_type'=> 'wpcproduct', 'post__not_in' => $exclude, 'term' => $term->slug, 'order' => 'ASC', 'orderby' => 'menu_order', 'posts_per_page' => 3, 'paged' => $paged, ); products = new WP_Query($args); while($products->have_posts()): $products->the_post(); 

Danach weise ich alle Felder Variablen zu und benutze sie um sie auf der Webseite zu generieren, aber ich denke du weißt wie das funktioniert.

Also meine Frage ist, wie um alles in der Welt repariere ich es, so dass anstelle von 'term'=> $term->slug etwas wie 'terms'=> something oder wie ich es bereits mit dem 'tax_query' => array(array(foo)) versucht habe 'tax_query' => array(array(foo)) wie in https://codex.wordpress.org/Class_Reference/WP_Query beschrieben . Irgendwie kann ich es einfach nicht schaffen und alles, was ich bisher versucht habe, gibt nur Posts von allen Begriffen aller Posts statt aller Terme des aktuellen Posts.

Eine andere kleine Sache, es gibt eine leere foreach-statement in meinem Code: foreach ($terms as $term) { } Gibt es einen besseren Weg, dies zu tun? Auf Google gesucht, konnte aber nichts finden.

Wenn Sie sich nicht vorstellen können, woran ich gerade arbeite, überprüfen Sie: http://www.bgc-testomgeving.nl/sem/

Jede Hilfe wird sehr geschätzt, weil ein bisschen feststeckt.

Solutions Collecting From Web of "WordPress-Abfrage mit Elementen aus mehr als einer selbstdefinierten Taxonomie als `Term`-Argument"

Ich habe es geschafft. Ich habe den folgenden Abfrageparameter verwendet:

'tax_query' => array( array('taxonomy' => 'wpccategories', 'field' => 'slug', 'terms' => $termz ) )

Mit $termz ist das: $termz = wp_get_object_terms($id, 'wpccategories', array("fields" => "slugs"));

Das Problem, mit dem ich zu kämpfen hatte, war, dass ich ein singuläres 'field' mit Singular 'slug' in der tax_query (ich wusste das), aber ich musste in der wp_get_object_terms function wp_get_object_terms verwenden. Andersherum scheint das nicht zu funktionieren.