wp/wp-includes/blocks/post-terms.php
changeset 19 3d72ae0968f4
parent 18 be944660c56a
child 21 48c4eec2b7e6
--- a/wp/wp-includes/blocks/post-terms.php	Wed Sep 21 18:19:35 2022 +0200
+++ b/wp/wp-includes/blocks/post-terms.php	Tue Sep 27 16:37:53 2022 +0200
@@ -23,30 +23,25 @@
 	}
 
 	$post_terms = get_the_terms( $block->context['postId'], $attributes['term'] );
-	if ( is_wp_error( $post_terms ) ) {
-		return '';
-	}
-	if ( empty( $post_terms ) ) {
+	if ( is_wp_error( $post_terms ) || empty( $post_terms ) ) {
 		return '';
 	}
 
-	$align_class_name = empty( $attributes['textAlign'] ) ? '' : ' ' . "has-text-align-{$attributes['textAlign']}";
+	$classes = 'taxonomy-' . $attributes['term'];
+	if ( isset( $attributes['textAlign'] ) ) {
+		$classes .= ' has-text-align-' . $attributes['textAlign'];
+	}
+
+	$separator = empty( $attributes['separator'] ) ? ' ' : $attributes['separator'];
 
-	$terms_links = '';
-	foreach ( $post_terms as $term ) {
-		$terms_links .= sprintf(
-			'<a href="%1$s">%2$s</a> | ',
-			get_term_link( $term->term_id ),
-			esc_html( $term->name )
-		);
-	}
-	$terms_links        = trim( $terms_links, ' | ' );
-	$wrapper_attributes = get_block_wrapper_attributes( array( 'class' => $align_class_name ) );
+	$wrapper_attributes = get_block_wrapper_attributes( array( 'class' => $classes ) );
 
-	return sprintf(
-		'<div %1$s>%2$s</div>',
-		$wrapper_attributes,
-		$terms_links
+	return get_the_term_list(
+		$block->context['postId'],
+		$attributes['term'],
+		"<div $wrapper_attributes>",
+		'<span class="wp-block-post-terms__separator">' . esc_html( $separator ) . '</span>',
+		'</div>'
 	);
 }