Diff: STRATO-apps/wordpress_03/app/wp-includes/blocks/post-author-name.php

Keine Baseline-Datei – Diff nur gegen leer.
Zur Liste
1 -
1 + <?php
2 + /**
3 + * Server-side rendering of the `core/post-author-name` block.
4 + *
5 + * @package WordPress
6 + */
7 +
8 + /**
9 + * Renders the `core/post-author-name` block on the server.
10 + *
11 + * @since 6.2.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 post author name block.
17 + */
18 + function render_block_core_post_author_name( $attributes, $content, $block ) {
19 + if ( isset( $block->context['postId'] ) ) {
20 + $author_id = get_post_field( 'post_author', $block->context['postId'] );
21 + } else {
22 + $author_id = get_query_var( 'author' );
23 + }
24 +
25 + if ( empty( $author_id ) ) {
26 + return '';
27 + }
28 +
29 + if ( isset( $block->context['postType'] ) && ! post_type_supports( $block->context['postType'], 'author' ) ) {
30 + return '';
31 + }
32 +
33 + $author_name = get_the_author_meta( 'display_name', $author_id );
34 + if ( isset( $attributes['isLink'] ) && $attributes['isLink'] ) {
35 + $author_name = sprintf( '<a href="%1$s" target="%2$s" class="wp-block-post-author-name__link">%3$s</a>', get_author_posts_url( $author_id ), esc_attr( $attributes['linkTarget'] ), $author_name );
36 + }
37 +
38 + $classes = array();
39 + if ( isset( $attributes['textAlign'] ) ) {
40 + $classes[] = 'has-text-align-' . $attributes['textAlign'];
41 + }
42 + if ( isset( $attributes['style']['elements']['link']['color']['text'] ) ) {
43 + $classes[] = 'has-link-color';
44 + }
45 + $wrapper_attributes = get_block_wrapper_attributes( array( 'class' => implode( ' ', $classes ) ) );
46 +
47 + return sprintf( '<div %1$s>%2$s</div>', $wrapper_attributes, $author_name );
48 + }
49 +
50 + /**
51 + * Registers the `core/post-author-name` block on the server.
52 + *
53 + * @since 6.2.0
54 + */
55 + function register_block_core_post_author_name() {
56 + register_block_type_from_metadata(
57 + __DIR__ . '/post-author-name',
58 + array(
59 + 'render_callback' => 'render_block_core_post_author_name',
60 + )
61 + );
62 + }
63 + add_action( 'init', 'register_block_core_post_author_name' );
64 +