Filter wp_query Ergebnis mit benutzerdefinierten Feldwerten

Ich beginne mit erweiterten benutzerdefinierten Feldern. Ich habe ein Kategoriefeld (main_category), in dem die unten angegebenen Kategorien mit den Optionsfeldern ausgewählt werden.

1. Electronics 2. Programming 3. Design 

wo gibt es Unterkategorien für diese Kategorien. Sie werden mit den bedingten Optionsfeldern für jede Kategorie festgelegt. Die Unterkategorien sind indiziert, die Felder sind in Klammern angegeben.

 Post Type: article Field Name: Category Field key : main_category 1. Electronics - - - - - - - - (electronics) Linear Electronics - - (elect_linear) Computer Networks- - - (elect_networks) Microwave Engineering- (elect_microwave) MicroProcessors- - - - (elect_micropro) 2. Programming - - - - - - - - (programming) ObjectiveC - - - - - - (prog_objc) Pythion - - - - - - - (prog_python) JavaScript - - - - - - (prog_js) PHP - - - - - - - - - (prog_php) 3. Design - - - - - - - - (design) Illustrator - - - - - (desgn_ai) Photoshop - - - - - - (desgn_ps) After Effects - - - - (desgn_ae) Cinema 4d - - - - - - (desgn_cf) 

die WP_Query wurde gemacht,

 $articles = array( 'numberposts' => -1, 'post_type' => 'article', 'meta_key' => 'main_category', ); $query_articles = new WP_Query( $articles); 

Es hat ein Array $ query_articles zurückgegeben, das alle Posts enthält. Wie kann ich durch das Array $ query_articles filtern? so dass ich “getagged in php” für die Artikel in der PHP-Unterkategorie hinzufügen würde.

Was ich in meinem Wissen tun könnte, war, Arrays mit verschiedenen Kategorien abzufragen.

 $electronics = array( 'numberposts' => -1, 'post_type' => 'article', 'meta_key' => 'main_category', 'meta_value' => 'electronics' ); $programming = array( 'numberposts' => -1, 'post_type' => 'article', 'meta_key' => 'main_category', 'meta_value' => 'programming' ); $design = array( 'numberposts' => -1, 'post_type' => 'article', 'meta_key' => 'main_category', 'meta_value' => 'design' ); //query variables $query_electronics = new WP_Query( $electronics); $query_programming = new WP_Query( $programming); $query_design = new WP_Query( $design ); 

aber die Unterkategorien sind immer vermasselt und es verschlingt auch viele Ressourcen.

ps. Dies ist für einen Blog, den ich in localhost entwickle. Danke für jede Hilfe und Kommentar.

Solutions Collecting From Web of "Filter wp_query Ergebnis mit benutzerdefinierten Feldwerten"

Wenn es sich bei main_category um eine Kategorie (benutzerdefinierte Taxonomie) handelt, main_category Sie sie falsch ab. Das sollte so gehen:

 $electronics = array( 'numberposts' => -1, 'post_type' => 'article', 'main_category' => 'electronics' ); $query_electronics = new WP_Query( $electronics ); 

Wenn das ein benutzerdefiniertes Feld ist, benutze meta_query :

 $electronics = array( 'numberposts' => -1, 'post_type' => 'article', 'meta_query' => array( 'key' => 'main_category', 'value' => 'electronics' ), ); $query_electronics = new WP_Query( $electronics );