render_block_core_post_comments_form

函数


render_block_core_post_comments_form ( $attributes, $content, $block )
参数
  • (array)
    $attributes
    Block attributes.
    Required:
  • (string)
    $content
    Block default content.
    Required:
  • (WP_Block)
    $block
    Block instance.
    Required:
返回值
  • (string) Returns the filtered post comments form for the current post.
定义位置
  • wp-includes/blocks/post-comments-form.php
    , line 16
引入
弃用

渲染服务器上的`core/post-comments-form`区块。

function render_block_core_post_comments_form( $attributes, $content, $block ) {
	if ( ! isset( $block->context['postId'] ) ) {
		return '';
	}

	if ( post_password_required( $block->context['postId'] ) ) {
		return;
	}

	$classes = 'comment-respond'; // See comment further below.
	if ( isset( $attributes['textAlign'] ) ) {
		$classes .= ' has-text-align-' . $attributes['textAlign'];
	}

	$wrapper_attributes = get_block_wrapper_attributes( array( 'class' => $classes ) );

	add_filter( 'comment_form_defaults', 'post_comments_form_block_form_defaults' );

	ob_start();
	comment_form( array(), $block->context['postId'] );
	$form = ob_get_clean();

	remove_filter( 'comment_form_defaults', 'post_comments_form_block_form_defaults' );

	// We use the outermost wrapping `
` returned by `comment_form()` // which is identified by its default classname `comment-respond` to inject // our wrapper attributes. This way, it is guaranteed that all styling applied // to the block is carried along when the comment form is moved to the location // of the 'Reply' link that the user clicked by Core's `comment-reply.js` script. $form = str_replace( 'class="comment-respond"', $wrapper_attributes, $form ); // Enqueue the comment-reply script. wp_enqueue_script( 'comment-reply' ); return $form; }