Automattic\WooCommerce\Blocks\BlockTypes

MiniCartCartButtonBlock::renderprotectedWC 1.0

Render the markup for the Mini-Cart Contents block.

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

Хуков нет.

Возвращает

string. Rendered block type output.

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

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

Код MiniCartCartButtonBlock::render() WC 11.1.1

<?php
protected function render( $attributes, $content, $block ) {
	$default_view_cart_text = __( 'View my cart', 'woocommerce' );
	$view_cart_text         = $attributes['cartButtonLabel'] ? $attributes['cartButtonLabel'] : $default_view_cart_text;
	$cart_page_id           = wc_get_page_id( 'cart' );
	$cart_page_url          = get_permalink( $cart_page_id );
	$classes                = implode(
		' ',
		array_filter(
			array(
				'wc-block-components-button',
				'wp-element-button wc-block-mini-cart__footer-cart',
				// Default style class is not added by default, so it needs to be added manually if it doesn't exist.
				( ! isset( $attributes['className'] ) || strpos( $attributes['className'], 'is-style-' ) === false ) ? 'is-style-outline' : '',
			)
		)
	);
	$wrapper_attributes     = get_block_wrapper_attributes(
		array(
			'href'  => esc_url( $cart_page_url ),
			'class' => $classes,
		)
	);

	ob_start();

	?>
	<a <?php echo $wrapper_attributes; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>>
		<div class="wc-block-components-button__text">
			<?php echo esc_html( $view_cart_text ); ?>
		</div>
	</a>
	<?php
	return (string) ob_get_clean();
}