Wie Sie die Taxonomiebegriffe basierend auf einem anderen Taxonomiebegriff filtern

Ich habe einen benutzerdefinierten Post-Typ namens “Tour” erstellt, der bis zu fünf Taxonomien enthält, die “Ziel”, “Typen”, “Monat der Reise”, “Jahr der Reise” und “Vorbeigeführt” genannt werden.

Jetzt habe ich sie als Drop-Down-Kategorie mit “wp_dropdown_categories” – (jede der Taxonomie wurde als Dropdown aufgeführt) gebracht. und der Suchbegriff funktioniert in den Kombinationen (falls vorhanden).

zum Beispiel :: Ich suche nach “Ziel” als “Bangalore” und “Monat der Reise” als “Juni” Kombination arbeitet als Post wurden zu bestimmten Bedingungen gewählt. ~ es ist perfekt.

Wenn jedoch kein Beitrag für eine Kombination aus Kategorie / keine Suchkombination ausgewählt wurde, wird “Kein Beitrag verfügbar” ausgetriggers. ~ es ist eine gemeinsame Sache in der Wortpresse.

Daher bevorzuge ich es, die TAXONOMIES basierend auf den vorherigen TAXONOMIES zu filtern (es ist etwas verwirrend, wenn man sie in Beziehung setzt).

Hier ist das Hauptkonzept:

Wenn ich das “Ziel” als “Bangalore” wähle, muss der “Typ” basierend auf dem Ziel gefiltert werden. Das heißt, Bangalore kann nur zwei Typen haben. “Ein Typ und B Typ” Der Rest des Typs sollte ignoriert werden. – (Noch einmal alle fünf Dinge kommen als Taxonomien).

Ich will so etwas Bildbeschreibung hier eingeben

Wenn post_type = tour & tour_destination = bangalore die anderen Taxonomien mit relevanten Begriffen filtert?

Hilf mir ~ Danke im Voraus

Entwickler

Solutions Collecting From Web of "Wie Sie die Taxonomiebegriffe basierend auf einem anderen Taxonomiebegriff filtern"

Ich habe ein paar Verbesserungen an dem früheren Code vorgenommen, der erste Filter funktioniert jetzt gut, ich bin ein wenig verwirrt, was den Rest betrifft, sven? Kannst du mir helfen, das effektiv zu machen?

   

Datei test.php

 < ?php $opt = $_GET['opt']; $pages = get_posts(array( 'post_type' => 'tour', 'numberposts' => -1, 'tax_query' => array( array ( 'taxonomy' => 'tour_destination', 'field' => 'id', 'terms' => $opt, // above code will return the id here. 'include_children' => false ) ) )); $post_id =array(); //$tour_type = array(); $categories = array(); foreach ($pages as $page) { $post_id[] = $page->ID; } ?> < ?php //echo $count = count($post_id) . 'Total Posts 
'; ?> < ?php foreach($post_id as $p_ID): ?> < ?php $tours = wp_get_post_terms($p_ID, 'tour_type', array("fields" => "all")); ?> < ?php $month_travels = wp_get_post_terms($p_ID, 'month_travel', array("fields" => "all")); ?> < ?php $year_travels = wp_get_post_terms($p_ID, 'year_travel', array("fields" => "all")); ?> < ?php $led_bys = wp_get_post_terms($p_ID, 'led_by', array("fields" => "all")); ?> < ?php foreach($tours as $tour): ?> < ?php $array_tour['id'] = $tour->term_id; ?> < ?php $array_tour['name'] = $tour->name; ?> < ?php endforeach; ?> < ?php foreach($month_travels as $month_travel): ?> < ?php $array_month['id'] = $month_travel->term_id; ?> < ?php $array_month['name'] = $month_travel->name; ?> < ?php endforeach; ?> < ?php foreach($year_travels as $year_travel): ?> < ?php $array_year['id'] = $year_travel->term_id; ?> < ?php $array_year['name'] = $year_travel->name; ?> < ?php endforeach; ?> < ?php foreach($led_bys as $led_by): ?> < ?php $array_led_by['id'] = $led_by->term_id; ?> < ?php $array_led_by['name'] = $led_by->name; ?> < ?php endforeach; ?> < ?php $categories_tour[] = array('id' => $array_tour['id'], 'name' => $array_tour['name']); ?> < ?php $categories_month[] = array('id' => $array_month['id'], 'name' => $array_month['name']); ?> < ?php $categories_year[] = array('id' => $array_year['id'], 'name' => $array_year['name']); ?> < ?php $categories_led_by[] = array('id' => $array_led_by['id'], 'name' => $array_led_by['name']); ?> < ?php endforeach; ?> < ?php $input_tour = array_map("unserialize", array_unique(array_map("serialize", $categories_tour))); ?> < ?php $input_month = array_map("unserialize", array_unique(array_map("serialize", $categories_month))); ?> < ?php $input_year = array_map("unserialize", array_unique(array_map("serialize", $categories_year))); ?> < ?php $input_led_by = array_map("unserialize", array_unique(array_map("serialize", $categories_led_by))); ?>

Wenn ich irgendwo Fehler mache, bitte rate mir …, Danke