Diff: STRATO-apps/wordpress_03/app/wp-includes/blocks/post-comments-link.php

Keine Baseline-Datei – Diff nur gegen leer.
Zur Liste
1 -
1 + <?php
2 + /**
3 + * Server-side rendering of the `core/post-comments-link` block.
4 + *
5 + * @package WordPress
6 + */
7 +
8 + /**
9 + * Renders the `core/post-comments-link` block on the server.
10 + *
11 + * @since 6.9.0
12 + *
13 + * @param array $attributes Block attributes.
14 + * @param string $content Block default content.
15 + * @param WP_Block $block Block instance.
16 + * @return string Returns the rendered link.
17 + */
18 + function render_block_core_post_comments_link( $attributes, $content, $block ) {
19 + if (
20 + ! isset( $block->context['postId'] ) ||
21 + isset( $block->context['postId'] ) &&
22 + ! comments_open( $block->context['postId'] )
23 + ) {
24 + return '';
25 + }
26 +
27 + $classes = array();
28 + if ( isset( $attributes['textAlign'] ) ) {
29 + $classes[] = 'has-text-align-' . $attributes['textAlign'];
30 + }
31 + if ( isset( $attributes['style']['elements']['link']['color']['text'] ) ) {
32 + $classes[] = 'has-link-color';
33 + }
34 + $wrapper_attributes = get_block_wrapper_attributes( array( 'class' => implode( ' ', $classes ) ) );
35 + $comments_number = (int) get_comments_number( $block->context['postId'] );
36 + $comments_link = get_comments_link( $block->context['postId'] );
37 + $post_title = get_the_title( $block->context['postId'] );
38 + $comment_html = '';
39 +
40 + if ( 0 === $comments_number ) {
41 + $comment_html = sprintf(
42 + /* translators: %s post title */
43 + __( 'No comments<span class="screen-reader-text"> on %s</span>' ),
44 + $post_title
45 + );
46 + } else {
47 + $comment_html = sprintf(
48 + /* translators: 1: Number of comments, 2: post title */
49 + _n(
50 + '%1$s comment<span class="screen-reader-text"> on %2$s</span>',
51 + '%1$s comments<span class="screen-reader-text"> on %2$s</span>',
52 + $comments_number
53 + ),
54 + esc_html( number_format_i18n( $comments_number ) ),
55 + $post_title
56 + );
57 + }
58 +
59 + return '<div ' . $wrapper_attributes . '><a href=' . esc_url( $comments_link ) . '>' . $comment_html . '</a></div>';
60 + }
61 +
62 + /**
63 + * Registers the `core/post-comments-link` block on the server.
64 + *
65 + * @since 6.9.0
66 + */
67 + function register_block_core_post_comments_link() {
68 + register_block_type_from_metadata(
69 + __DIR__ . '/post-comments-link',
70 + array(
71 + 'render_callback' => 'render_block_core_post_comments_link',
72 + )
73 + );
74 + }
75 + add_action( 'init', 'register_block_core_post_comments_link' );
76 +