Ausschließen von Beiträgen aus einer Kategorie bei Verwendung dieses bestimmten Formats

Ich versuche, Beiträge aus einer bestimmten Kategorie von der Anzeige in meiner home.php auszuschließen.

Der Code in meinem Thema lautet wie folgt:

query_posts(array('post__not_in' => $featured_posts_array)); if (have_posts()) : while (have_posts()) : the_post(); ?> <div  id="post-"> 

Ich habe versucht, Folgendes vor dem query_posts (function, aber es tut nichts.

 function exclude_category( $query ) { if ( is_feed() ) { $query = set_query_var( 'cat', '-1' ); } return $query; } add_filter( 'pre_get_posts', 'exclude_category' ); 

Gibt es ein Format, dem ich folgen muss?

Solutions Collecting From Web of "Ausschließen von Beiträgen aus einer Kategorie bei Verwendung dieses bestimmten Formats"

Verwenden query_posts() nicht query_posts() . Einfach den Anruf ganz loswerden. Es wird Dinge brechen.

Zweite:

Ich habe versucht, Folgendes vor dem query_posts (function, aber es tut nichts.

Callbacks und add_action() Aufrufe gehören in functions.php , nicht in der Template-Datei. Wenn du es direkt in home.php , entferne es von dort und lege es in functions.php .

Dritte:

Ihr pre_get_posts() Filter verwendet die Bedingung if ( is_feed() ) . Die is_feed() Bedingung gibt true zurück, wenn ein RSS-Feed ausgegeben wird, nicht im Blog-Posts-Index (was über home.php ausgegeben home.php ). Versuchen Sie stattdessen, is_home() verwenden.

Vierte:

Rufen Sie set_query_var() innerhalb Ihres Callbacks auf. Verwenden $query->set() stattdessen $query->set() .

Alles zusammensetzen

Verwenden Sie das folgende in functions.php

 < ?php function wpse55358_filter_pre_get_posts( $query ) { // Let's only modify the main query if ( ! is_main_query() ) { return $query; } // Modify the blog posts index query if ( is_home() ) { // Exclude Category ID 1 $query->set( 'cat', '-1' ); // Build featured posts array $featured_posts_array = featured_posts_slider(); // Exclude featured posts $query->set( 'post__not_in', $featured_posts_array ); } // Return the query object return $query; } add_filter( 'pre_get_posts', 'wpse55358_filter_pre_get_posts' ); ?> 

Fragen

Welche Kategorie möchten Sie ausschließen? Sind Sie sicher, dass die ID 1 ?