WordPress/wp-includes/blocks/comment-author-name.php

70 lines
2.1 KiB
PHP
Raw Normal View History

<?php
/**
* Server-side rendering of the `core/comment-author-name` block.
*
* @package WordPress
*/
/**
* Renders the `core/comment-author-name` block on the server.
*
* @since 6.0.0
*
* @param array $attributes Block attributes.
* @param string $content Block default content.
* @param WP_Block $block Block instance.
* @return string Return the post comment's author.
*/
function render_block_core_comment_author_name( $attributes, $content, $block ) {
if ( ! isset( $block->context['commentId'] ) ) {
return '';
}
$comment = get_comment( $block->context['commentId'] );
$commenter = wp_get_current_commenter();
$show_pending_links = isset( $commenter['comment_author'] ) && $commenter['comment_author'];
if ( empty( $comment ) ) {
return '';
}
$classes = array();
if ( isset( $attributes['textAlign'] ) ) {
$classes[] = 'has-text-align-' . $attributes['textAlign'];
}
if ( isset( $attributes['style']['elements']['link']['color']['text'] ) ) {
$classes[] = 'has-link-color';
}
$wrapper_attributes = get_block_wrapper_attributes( array( 'class' => implode( ' ', $classes ) ) );
$comment_author = get_comment_author( $comment );
$link = get_comment_author_url( $comment );
Editor: Update packages for 6.1 Release Candidate 1. Package updates for bug and regression fixes: @wordpress/block-directory: 3.15.6 @wordpress/block-editor: 10.0.6 @wordpress/block-library: 7.14.6 @wordpress/components: 21.0.5 @wordpress/customize-widgets: 3.14.6 @wordpress/edit-post: 6.14.6 @wordpress/edit-site: 4.14.8 @wordpress/edit-widgets: 4.14.6 @wordpress/editor: 12.16.6 @wordpress/format-library: 3.15.6 @wordpress/interface: 4.16.5 @wordpress/list-reusable-blocks: 3.15.5 @wordpress/nux: 5.15.5 @wordpress/preferences: 2.9.5 @wordpress/reusable-blocks: 3.15.6 @wordpress/server-side-render: 3.15.5 @wordpress/widgets: 2.15.6 References: * [https://github.com/WordPress/gutenberg/pull/43181 Gutenberg PR 43181] - Merge inner blocks if wrappers are equal * [https://github.com/WordPress/gutenberg/pull/44098 Gutenberg PR 44098] - Fix content blocks with nested blocks always appear as top level * [https://github.com/WordPress/gutenberg/pull/44150 Gutenberg PR 44150] - Refresh selection styles * [https://github.com/WordPress/gutenberg/pull/44415 Gutenberg PR 44415] - Removes `__unstableMaxPages` attribute from Page List and Nav blocks * [https://github.com/WordPress/gutenberg/pull/44463 Gutenberg PR 44463] - Follow discussion settings in the comments block edit * [https://github.com/WordPress/gutenberg/pull/44584 Gutenberg PR 44584] - Avoid querying block templates during installation * [https://github.com/WordPress/gutenberg/pull/44637 Gutenberg PR 44637] - Resizable editor: Fix height setting bug * [https://github.com/WordPress/gutenberg/pull/44640 Gutenberg PR 44640] - Only include theme.css if the theme declares support for wp-block-styles * [https://github.com/WordPress/gutenberg/pull/44650 Gutenberg PR 44650] - Fix empty links being created for the author's name comment * [https://github.com/WordPress/gutenberg/pull/44652 Gutenberg PR 44652] - Block Editor: Fix block search for non-Latin characters * [https://github.com/WordPress/gutenberg/pull/44660 Gutenberg PR 44660] - Legacy Group inner block wrapper should work with constrained layout * [https://github.com/WordPress/gutenberg/pull/44676 Gutenberg PR 44676] - Hide list items from content area of content locked blocks * [https://github.com/WordPress/gutenberg/pull/44718 Gutenberg PR 44718] - Margin visualizer: Apply negative value to margins with `calc()` * [https://github.com/WordPress/gutenberg/pull/44721 Gutenberg PR 44721] - Remove anchor support from the navigation block * [https://github.com/WordPress/gutenberg/pull/44731 Gutenberg PR 44731] - Buttons: Add specificity for the editor Follow-up to [54257], [54335], and [54383]. Props bernhard-reiter, czapla, annezazu, cbravobernal, ndiego, bjorsch, nendeb55. See #56467. Built from https://develop.svn.wordpress.org/trunk@54483 git-svn-id: http://core.svn.wordpress.org/trunk@54042 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2022-10-11 17:26:55 +02:00
if ( ! empty( $link ) && ! empty( $attributes['isLink'] ) && ! empty( $attributes['linkTarget'] ) ) {
$comment_author = sprintf( '<a rel="external nofollow ugc" href="%1s" target="%2s" >%3s</a>', esc_url( $link ), esc_attr( $attributes['linkTarget'] ), $comment_author );
}
if ( '0' === $comment->comment_approved && ! $show_pending_links ) {
$comment_author = wp_kses( $comment_author, array() );
}
return sprintf(
'<div %1$s>%2$s</div>',
$wrapper_attributes,
$comment_author
);
}
/**
* Registers the `core/comment-author-name` block on the server.
*
* @since 6.0.0
*/
function register_block_core_comment_author_name() {
register_block_type_from_metadata(
__DIR__ . '/comment-author-name',
array(
'render_callback' => 'render_block_core_comment_author_name',
)
);
}
add_action( 'init', 'register_block_core_comment_author_name' );