Automattic\WooCommerce\Blocks\BlockTypes

StoreNotices::render()protectedWC 1.0

Render the block.

Метод класса: StoreNotices{}

Хуков нет.

Возвращает

Строку. | void Rendered block output.

Использование

// protected - в коде основоного (родительского) или дочернего класса
$result = $this->render( $attributes, $content, $block );
$attributes(массив) (обязательный)
Block attributes.
$content(строка) (обязательный)
Block content.
$block(WP_Block) (обязательный)
Block instance.

Код StoreNotices::render() WC 9.5.1

protected function render( $attributes, $content, $block ) {
	/**
	 * This block should be rendered only on the frontend. Woo loads notice
	 * functions on the front end requests only. So it's safe and handy to
	 * check for the print notice function existence to short circuit the
	 * render process on the admin side.
	 * See WooCommerce::is_request() for the frontend request definition.
	 */
	if ( ! function_exists( 'wc_print_notices' ) ) {
		return $content;
	}

	ob_start();
	woocommerce_output_all_notices();
	$notices = ob_get_clean();

	if ( ! $notices ) {
		return;
	}

	$classes_and_styles = StyleAttributesUtils::get_classes_and_styles_by_attributes( $attributes, array(), array( 'extra_classes' ) );

	return sprintf(
		'<div %1$s>%2$s</div>',
		get_block_wrapper_attributes(
			array(
				'class' => 'wc-block-store-notices woocommerce ' . esc_attr( $classes_and_styles['classes'] ),
			)
		),
		wc_kses_notice( $notices )
	);
}