Fügen Sie den Taxomomy-Filter zur Einzelanfrage hinzu?

Ich habe einen Post-Typ ‘Comic’, der doppelte Slugs erlaubt, solange die zugehörige Taxonomie anders ist. Die Hauptabfrage wird jedoch geschraubt und gibt mehr als ein Ergebnis zurück, so dass single.php das Neueste anzeigt. Ich habe versucht, eine tax_query über den Aktions-Hook pre_get_posts hinzuzufügen, aber die Abfrage scheint es vollständig zu ignorieren. Gibt es eine Möglichkeit, die Hauptabfrage anzuweisen, Taxonomiefilter NICHT zu ignorieren, selbst wenn es eine singuläre Abfrage ist?

Das ist mein Code:

add_action( 'pre_get_posts', 'ce_filter_query' ); function ce_filter_query ( $query ) { if ( ! $query->is_main_query() || !$query->is_singular ) { return $query; } $chapter = get_term_by('slug', get_query_var( 'chapters' ), 'chapters'); if ( $chapter ) { $tax_query = array( array( 'taxonomy' => 'chapters', 'field' => 'term_id', 'terms' => array($chapter->term_id), 'operator' => 'IN' ) ); $query->set( 'tax_query', $tax_query); } return $query; } 

Dies ist die Hauptabfrage:

 SELECT wppt_posts.* FROM wppt_posts WHERE 1=1 AND wppt_posts.post_name = '1' AND wppt_posts.post_type = 'comic' ORDER BY wppt_posts.post_date DESC 

Keine Taxonomie überall. Der Ergebnissatz enthält zwei Zeilen, da zwei Einträge mit dem Slug = ‘1’ übereinstimmen.

Solutions Collecting From Web of "Fügen Sie den Taxomomy-Filter zur Einzelanfrage hinzu?"