Nur ausgewählte benutzerdefinierte Taxonomie abrufen

Ich habe diesen Code:

$post_types = get_post_types(); if($post_types) { foreach($post_types as $post_type) { $post_type_object = get_post_type_object($post_type); $taxonomies = get_object_taxonomies($post_type); if($taxonomies) { foreach($taxonomies as $taxonomy) { if(!is_taxonomy_hierarchical($taxonomy)) continue; $terms = get_terms($taxonomy, array('hide_empty' => false)); if($terms) { foreach($terms as $term) { $value = $taxonomy . ':' . $term->term_id; if( $simple_value ) { $value = $term->term_id; } $choices[$post_type_object->label . ': ' . $taxonomy][$value] = $term->name; } } } } } 

Dies wird die gesamte Taxonomie auflisten, die ich habe. Aber ich brauche nur die Taxonomien, die die Kategorie product_cat haben. Irgendwelche Vorschläge, wie könnte ich das ändern?

Solutions Collecting From Web of "Nur ausgewählte benutzerdefinierte Taxonomie abrufen"

Definieren Sie vor der ersten foreach Schleife am oberen foreach des Skripts ein leeres Array, in dem Sie nachsehen können, wonach Sie suchen:

 $taxWith_product_cat = array(); 

Jetzt, da Sie alle Taxonomien und alle darin enthaltenen Begriffe product_cat , überprüfen Sie in den Begriffen loop foreach($terms as $term) , ob der aktuelle Ausdruck product_cat . Wenn dies der Fall ist, fügen Sie dem neuen Array die Begriffe Taxonomie hinzu:

 if ($term->slug == 'product_cat ') $taxWith_product_cat[] = $taxonomy; 

Hier hast du es. Jetzt, am Ende des Skripts, haben Sie eine Reihe von Taxonomien, die den Begriff product_cat :

 echo "
".print_r($taxWith_product_cat,true)."

";