Wie schließe ich eine benutzerdefinierte Taxonomie aus der Post-Schleife aus?

Gibt es eine einfache oder einfache Möglichkeit, alle Beiträge aus einer benutzerdefinierten Taxonomie in der Schleife auszuschließen? Ich habe hoch und niedrig geschaut, und weder SE noch SO oder Google scheinen eine klare Antwort zu haben.

Ich weiß, dass es über eine WPDB-Abfrage gemacht werden kann, aber das scheint nur ein massives Seil zu sein, um etwas zu springen, das ziemlich einfach sein sollte.

Solutions Collecting From Web of "Wie schließe ich eine benutzerdefinierte Taxonomie aus der Post-Schleife aus?"

Sie möchten den Operator NOT EXISTS zusammen mit der Übergabe des Taxonomie-Slugs verwenden, der NOT EXISTS , dass die Abfrage keine der ausgewählten Kategorien aus Ihrer benutzerdefinierten Taxonomie innerhalb der Schleife enthalten soll.

Um alle Beiträge auszuschließen, die in der Taxonomie “Frucht” (unabhängig von der Fruchtart) enthalten sind, hier das Snippet:

 $args = array( 'post_type' => 'post', 'tax_query' => array( array( 'taxonomy' => 'fruit', 'operator' => 'NOT EXISTS' ) ) ); $query = new WP_Query( $args ); 

Die Lösung dafür ist nicht wirklich veröffentlicht, aber es sollte sein.

Sie können Folgendes tun:

 $args['tax_query'] = array( array( 'taxonomy' => 'category', 'terms' => array('cat', 'dog'), 'field' => 'slug', 'operator' => 'NOT IN', ), ); query_posts($args); 

Das Operatorargument kann andere Ausdrücke annehmen, aber der obige Code sagt grundsätzlich, dass alle Beiträge aus der Taxonomiekategorie “Kategorie” erhalten werden, die nicht die Begriffe “Katze” oder “Hund” haben.

So führen Sie benutzerdefinierte Post-Typen und benutzerdefinierte Taxonomien aus:

 $happening = new WP_Query( array( 'post_type' => 'news', // only query News post type 'tax_query' => array( array( 'taxonomy' => 'news-cat', 'field' => 'slug', 'terms' => 'media', // exclude items media items in the news-cat custom taxonomy 'operator' => 'NOT IN') ), ) ); 

Dies funktionierte perfekt, um benutzerdefinierte Taxonomie vom benutzerdefinierten Post-Typ auszuschließen. Ich wollte nur den Code der Abfrage-Schleife hinzufügen, um das Snippet zu beenden: while ($ the_query-> have_posts ()): $ the_query-> the_post ();

Ich benutze das “RYO ‘Category Visibility’ WordPress Plugin”, das ziemlich gut zu funktionieren scheint.

Sie können auf einer Admin-Seite entscheiden, welche Kategorien in verschiedenen Bereichen sichtbar oder ausgeschlossen sind.

http://ryowebsite.com/wp-plugins/category-visibility/

-Adam

Ich habe Folgendes getan, um Beiträge von einem bestimmten Taxonomiebegriff auszuschließen:

 $argos = array( 'tax_query' => array ( array( 'taxonomy' => 'topics', // My Custom Taxonomy 'terms' => 'college', // My Taxonomy Term that I wanted to exclude 'field' => 'slug', // Whether I am passing term Slug or term ID 'operator' => 'NOT IN', // Selection operator - use IN to include, NOT IN to exclude ), ), 'post_type'=>'page', // Post type I want to show, can be a custom post type too 'posts_per_page' => -1, 'orderby' => 'title', 'order'=>'ASC', 'post_parent' =>$post->ID // show child posts or pages of current page/post ); $query = new WP_Query( $args ); 
 query_posts( array( 'post_type' => 'listings', 'tax_query' => array( array( 'taxonomy' => 'status', 'field' => 'slug', 'terms' => 'sold', 'operator' => 'NOT IN' ), ) ) ); 

Dieser Code schließt Status => verkauft von post_type => Listings aus