Ich suche nach einer Slug-Liste des Taxonomiebegriffs für den aktuellen Post innerhalb der Schleife.
ID, 'wpsc_product_category' ); if ( !empty( $terms ) ){ $term = array_shift( $terms ); echo $term->slug; } ?>
Die function, die ich derzeit verwende, zeigt zwar nur den Slug des ersten Taxonomiebegriffs an, nicht alle.
zB Ein Beitrag wird mehreren wpsc_product_category
zugewiesen, aber nur der erste Begriff wird auf dem Front-End angezeigt und nicht eine Liste von allen.
Irgendwelche Vorschläge, wie dies zu erreichen wäre, würden sehr geschätzt werden.
Du Code ist völlig falsch. array_shift
sollte nicht verwendet werden
array_shift () verschiebt den ersten Wert des Arrays und gibt es zurück, verkürzt das Array um ein Element und verschiebt alles nach unten. Alle numerischen Array-Tasten werden so modifiziert, dass sie von Null an zählen, während die Buchstabentasten nicht berührt werden.
Sie sollten sich die korrekte Verwendung von get_the_terms
im Codex get_the_terms
.
Ich möchte nur darauf hinweisen, dass ich normalerweise wp_list_categories
da es viel Flexibilität bietet und auch mit benutzerdefinierten Taxonomien funktioniert. Hier ist ein Beispiel aus dem Codex
< ?php $taxonomy = 'wpsc_product_category'; // get the term IDs assigned to post. $post_terms = wp_get_object_terms( $post->ID, $taxonomy, array( 'fields' => 'ids' ) ); // separator between links $separator = ', '; if ( !empty( $post_terms ) && !is_wp_error( $post_terms ) ) { $term_ids = implode( ',' , $post_terms ); $terms = wp_list_categories( 'title_li=&style=none&echo=0&taxonomy=' . $taxonomy . '&include=' . $term_ids ); $terms = rtrim( trim( str_replace( '
', $separator, $terms ) ), $separator ); // display post categories echo $terms; } ?>