Benutzerdefinierte MySQL-Abfrage zum Durchsuchen von WordPress-Posts mit mehreren Taxonomien

Wie können wir MySQL-Abfrage für die folgenden in WordPress schreiben

$myquery= array( 'orderby' => 'date', 'order' => 'DESC', 'post_type' => 'recipe', 'post_status' => 'publish', ); $myquery['tax_query'] = array ( 'relation' => 'AND', array ( 'taxonomy' => 'category', 'terms' => array ('cheese'), 'field' => 'slug', ), array ( 'taxonomy' => 'cuisine', 'terms' => array ('indian'), 'field' => 'slug', ), ); query_posts($myquery); 

Ich möchte zuerst eine bestimmte Küche (basierend auf Benutzerauswahl) und dann den Rest zeigen. Dazu brauche ich eine benutzerdefinierte MySQL-Abfrage. Auf der Archivseite funktioniert die folgende Abfrage gut. select DISTINCT p.ID, p.post_author,p.post_date as dt from wpdb_posts p left JOIN wpdb_postmeta m1 ON p.ID = m1.post_id left JOIN wpdb_term_relationships wtr ON (p.ID = wtr.object_id) left JOIN wpdb_term_taxonomy wtt ON (wtr.term_taxonomy_id = wtt.term_taxonomy_id) left JOIN wpdb_terms wt ON (wt.term_id = wtt.term_id) where p.post_type='recipe' and p.post_status='publish' AND ( m1.meta_key = 'dietary_preferences' AND m1.meta_value like '%Vegetarian%' ) AND (wtt.taxonomy = 'recipe-cuisine' and wtt.term_id IN (11) ) order by dt DESC) union (select DISTINCT p.ID, p.post_author,p.post_date as dt from wpdb_posts p left JOIN wpdb_postmeta m1 ON p.ID = m1.post_id left JOIN wpdb_term_relationships wtr ON (p.ID = wtr.object_id) left JOIN wpdb_term_taxonomy wtt ON (wtr.term_taxonomy_id = wtt.term_taxonomy_id) left JOIN wpdb_terms wt ON (wt.term_id = wtt.term_id) where p.post_type='recipe' and p.post_status='publish' AND ( m1.meta_key = 'dietary_preferences' AND m1.meta_value like '%Vegetarian%' ) AND (wtt.taxonomy = 'recipe-cuisine' and wtt.term_id NOT IN (11) ) order by dt DESC

Aber für eine Taxonomie-Seite brauche ich mehrere Taxonomie-Filter.

Solutions Collecting From Web of "Benutzerdefinierte MySQL-Abfrage zum Durchsuchen von WordPress-Posts mit mehreren Taxonomien"