Automattic\WooCommerce\Blocks\BlockTypes\Reviews
ProductReviewTemplate::block_product_review_template_render_comments
Function that recursively renders a list of nested reviews.
Метод класса: ProductReviewTemplate{}
Хуков нет.
Возвращает
Строку.
Использование
// protected - в коде основоного (родительского) или дочернего класса $result = $this->block_product_review_template_render_comments( $comments, $block );
- $comments(WP_Comment[]) (обязательный)
- The array of comments.
- $block(WP_Block) (обязательный)
- Block instance.
Список изменений
| С версии 6.3.0 | Введена. |
| С версии 6.3.0 | Changed render_block_context priority to 1. |
Код ProductReviewTemplate::block_product_review_template_render_comments() ProductReviewTemplate::block product review template render comments WC 10.3.6
protected function block_product_review_template_render_comments( $comments, $block ) {
$content = '';
foreach ( $comments as $comment ) {
$comment_id = $comment->comment_ID;
$filter_block_context = static function ( $context ) use ( $comment_id ) {
$context['commentId'] = $comment_id;
return $context;
};
/*
* We set commentId context through the `render_block_context` filter so
* that dynamically inserted blocks (at `render_block` filter stage)
* will also receive that context.
*
* Use an early priority to so that other 'render_block_context' filters
* have access to the values.
*/
add_filter( 'render_block_context', $filter_block_context, 1 );
/*
* We construct a new WP_Block instance from the parsed block so that
* it'll receive any changes made by the `render_block_data` filter.
*/
$block_content = ( new WP_Block( $block->parsed_block ) )->render( array( 'dynamic' => false ) );
remove_filter( 'render_block_context', $filter_block_context, 1 );
$comment_classes = comment_class( '', $comment->comment_ID, $comment->comment_post_ID, false );
$content .= sprintf( '<li id="comment-%1$s" %2$s>%3$s</li>', $comment->comment_ID, $comment_classes, $block_content );
}
return $content;
}