Taxonomia de tipo de postagem separada por Comma

Eu tentei descobrir como separar as taxonomias de tipo de postagem personalizadas.

$terms = get_the_terms( $post->ID , array( 'commitments', 'type' ) ); foreach ( $terms as $term ) { $term_link = get_term_link( $term, array( 'commitments', 'type' ) ); if( is_wp_error( $term_link ) ) continue; echo '' . $term->name . ''; } 

Cada taxonomia mostra corretamente. No entanto, não consigo separá-los em vírgulas. Ele mostra “TaxonomyATaxonomyB”, mas eu quero mostrar isso como “TaxonomyA, TaxonomyB”

Como fazer isso? ou existe algum outro meio?

Obrigado!

Solutions Collecting From Web of "Taxonomia de tipo de postagem separada por Comma"

Você pode usar um contador para determinar se você precisa adicionar uma vírgula ou não:

 $terms = get_the_terms( $post->ID , array( 'commitments', 'type' ) ); // init counter $i = 1; foreach ( $terms as $term ) { $term_link = get_term_link( $term, array( 'commitments', 'type' ) ); if( is_wp_error( $term_link ) ) continue; echo '' . $term->name . ''; // Add comma (except after the last theme) echo ($i < count($terms))? ", " : ""; // Increment counter $i++; } 

Ou você pode usar a function get_the_term_list .

 < ?php echo get_the_term_list( $post->ID, 'commitments', '', ', ' ); ?> 

O caminho mais limpo (IMO) para fazer algo assim no PHP, é construir uma matriz e, em seguida, implodê-lo:

 $list = []; foreach ( $terms as $term ) { $term_link = get_term_link( $term /* no need for taxonomy arg if $term is an object */ ); if ( ! is_wp_error( $term_link ) ) $list[] = $term_link; } echo implode( ', ', $list );