[ Index ] |
PHP Cross Reference of WordPress Trunk (Updated Daily) |
[Summary view] [Print] [Text view]
1 <?php 2 /** 3 * Server-side rendering of the `core/comments-title` block. 4 * 5 * @package WordPress 6 */ 7 8 /** 9 * Renders the `core/comments-title` block on the server. 10 * 11 * @param array $attributes Block attributes. 12 * 13 * @return string Return the post comments title. 14 */ 15 function render_block_core_comments_title( $attributes ) { 16 17 if ( post_password_required() ) { 18 return; 19 } 20 21 $align_class_name = empty( $attributes['textAlign'] ) ? '' : "has-text-align-{$attributes['textAlign']}"; 22 $show_post_title = ! empty( $attributes['showPostTitle'] ) && $attributes['showPostTitle']; 23 $show_comments_count = ! empty( $attributes['showCommentsCount'] ) && $attributes['showCommentsCount']; 24 $wrapper_attributes = get_block_wrapper_attributes( array( 'class' => $align_class_name ) ); 25 $comments_count = get_comments_number(); 26 /* translators: %s: Post title. */ 27 $post_title = sprintf( __( '“%s”' ), get_the_title() ); 28 $tag_name = 'h2'; 29 if ( isset( $attributes['level'] ) ) { 30 $tag_name = 'h' . $attributes['level']; 31 } 32 33 if ( '0' === $comments_count ) { 34 return; 35 } 36 37 if ( $show_comments_count ) { 38 if ( $show_post_title ) { 39 if ( '1' === $comments_count ) { 40 /* translators: %s: Post title. */ 41 $comments_title = sprintf( __( 'One response to %s' ), $post_title ); 42 } else { 43 $comments_title = sprintf( 44 /* translators: 1: Number of comments, 2: Post title. */ 45 _n( 46 '%1$s response to %2$s', 47 '%1$s responses to %2$s', 48 $comments_count 49 ), 50 number_format_i18n( $comments_count ), 51 $post_title 52 ); 53 } 54 } elseif ( '1' === $comments_count ) { 55 $comments_title = __( 'One response' ); 56 } else { 57 $comments_title = sprintf( 58 /* translators: %s: Number of comments. */ 59 _n( '%s response', '%s responses', $comments_count ), 60 number_format_i18n( $comments_count ) 61 ); 62 } 63 } elseif ( $show_post_title ) { 64 if ( '1' === $comments_count ) { 65 /* translators: %s: Post title. */ 66 $comments_title = sprintf( __( 'Response to %s' ), $post_title ); 67 } else { 68 /* translators: %s: Post title. */ 69 $comments_title = sprintf( __( 'Responses to %s' ), $post_title ); 70 } 71 } elseif ( '1' === $comments_count ) { 72 $comments_title = __( 'Response' ); 73 } else { 74 $comments_title = __( 'Responses' ); 75 } 76 77 return sprintf( 78 '<%1$s id="comments" %2$s>%3$s</%1$s>', 79 $tag_name, 80 $wrapper_attributes, 81 $comments_title 82 ); 83 } 84 85 /** 86 * Registers the `core/comments-title` block on the server. 87 */ 88 function register_block_core_comments_title() { 89 register_block_type_from_metadata( 90 __DIR__ . '/comments-title', 91 array( 92 'render_callback' => 'render_block_core_comments_title', 93 ) 94 ); 95 } 96 97 add_action( 'init', 'register_block_core_comments_title' );
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated : Thu Apr 18 08:20:02 2024 | Cross-referenced by PHPXref |