Intelligenteres Navigations-Plugin und benutzerdefinierte Taxonomien

Ich versuche, Smarter Navigation ‘s get_referrer_category() mit einer benutzerdefinierten Taxonomie, die ich erstellt habe, zu machen. Die benutzerdefinierte Taxonomie, die ich in functions.php aufgenommen habe, ist folgende:

 add_action( 'init', 'create_colors_nonhierarchical_taxonomy', 0 ); function create_colors_nonhierarchical_taxonomy() { $labels = array( 'name' => _x( 'Colors', 'taxonomy general name' ), 'singular_name' => _x( 'Color', 'taxonomy singular name' ), 'search_items' => __( 'Search Colors' ), 'popular_items' => __( 'Popular Colors' ), 'all_items' => __( 'All Colors' ), 'parent_item' => null, 'parent_item_colon' => null, 'edit_item' => __( 'Edit Color' ), 'update_item' => __( 'Update Color' ), 'add_new_item' => __( 'Add New Color' ), 'new_item_name' => __( 'New Color Name' ), 'separate_items_with_commas' => __( 'Separate colors with commas' ), 'add_or_remove_items' => __( 'Add or remove colors' ), 'choose_from_most_used' => __( 'Choose from the most used colors' ), 'menu_name' => __( 'Colors' ), ); register_taxonomy('colors','post',array( 'hierarchical' => false, 'labels' => $labels, 'show_ui' => true, 'show_admin_column' => true, 'update_count_callback' => '_update_post_term_count', 'query_var' => true, 'rewrite' => array( 'slug' => 'color' ), )); } 

Jetzt, da ich nicht nur die Kategorie, sondern auch das Tag und die benutzerdefinierte Taxonomie, aus der der Benutzer stammt, hervorheben muss, habe ich den folgenden Code in dieser Plugin-Datei geändert:

 // Retrieve the category, based on the referrer URL. Useful if you have posts with multiple categories function get_referrer_category() { global $posts; if ( ! $referrer_url = get_referrer_url( false ) ) return false; foreach ( get_the_category( $posts[0]->ID ) as $cat ) { $cat_link = get_category_link( $cat->term_id ); if ( false !== strpos( $referrer_url, $cat_link ) ) return $cat; } foreach ( get_the_tags( $posts[0]->ID ) as $tag ) { $tag_link = get_tag_link( $tag->term_id ); if ( false !== strpos( $referrer_url, $tag_link ) ) return $tag; } foreach ( get_the_terms( $posts[0]->ID, 'color' ) as $term ) { $term_link = get_term_link( $term->term_id ); if ( false !== strpos( $referrer_url, $term_link ) ) return $term; } return false; } 

und ich habe diese Zeilen zu content-single.php hinzugefügt:

 <?php if ( $cat = get_referrer_category() ) echo 'Exploring // term_id ) . '">' . $cat->slug . ''; ?> 

Kategorie und Tags funktionieren einwandfrei, aber benutzerdefinierte Taxonomien können weiterhin nicht angezeigt werden. Ich bin überhaupt nicht gut mit PHP und ich bin mir ziemlich sicher, dass ich etwas vermisse. Hilfe wird sehr geschätzt;)

Solutions Collecting From Web of "Intelligenteres Navigations-Plugin und benutzerdefinierte Taxonomien"