Erhalten Sie Beiträge nach Name und Taxonomie Begriff

Wie bekomme ich alle Beiträge mit einem Taxonomiebegriff und einem bestimmten Namen / Slug?

Ich habe mit den folgenden Argumenten versucht, aber ohne das gewünschte Ergebnis zu bekommen. Was vermisse ich, wie kann ich Slug und Term in derselben Abfrage kombinieren?

array( 'name' => '', 'tax_query' => array( array( 'taxonomy' => '', 'field' => 'slug', 'terms' => , 'operator' => 'IN' ) ), ) 

Das SQL:

 SELECT wp_posts.* FROM wp_posts WHERE 1=1 AND wp_posts.post_name = '' AND wp_posts.post_type = '' AND ((wp_posts.post_status = 'publish')) ORDER BY wp_posts.post_date DESC 

Wenn ich das Feld “Name” entferne, sieht der Taxonomieteil des SQL richtig aus.

 array( 'tax_query' => array( array( 'taxonomy' => '', 'field' => 'slug', 'terms' => , 'operator' => 'IN' ) ), ) 

Das SQL:

 SELECT wp_posts.* FROM wp_posts INNER JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id) WHERE 1=1 AND ( wp_term_relationships.term_taxonomy_id IN (2) ) AND wp_posts.post_type = '' AND ((wp_posts.post_status = 'publish')) GROUP BY wp_posts.ID ORDER BY wp_posts.post_date DESC LIMIT 0, 5" 

Solutions Collecting From Web of "Erhalten Sie Beiträge nach Name und Taxonomie Begriff"

Beachten Sie, dass Sie bei Verwendung des Post-Slugs die zusätzliche Taxonomie-Abfrage nicht benötigen, um diesen Post zu finden. Daher ist es sinnvoll, in diesem Fall die teure Taxonomie-Abfrage im Core zu löschen.

Andernfalls könnten Sie stattdessen den Parameter post_name__in versuchen:

 [ 'post_name__in' => [ '' ], 'tax_query' => [ [ 'taxonomy' => '', 'field' => 'slug', 'terms' => , 'operator' => 'IN' ] ], ]; 

das wurde in WordPress 4.4 eingeführt, wenn du den Taxonomie-Abfrageteil auch wirklich haben willst 😉