Automattic\WooCommerce\Blocks\BlockTypes

MiniCartContents::enqueue_assets()protectedWC 1.0

Enqueue frontend assets for this block, just in time for rendering.

{} Это метод класса: MiniCartContents{}

Хуков нет.

Возвращает

null. Ничего.

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

// protected - в коде основоного (родительского) или дочернего класса
$result = $this->enqueue_assets( $attributes );
$attributes(массив) (обязательный)
Any attributes that currently are available from the block.

Код MiniCartContents::enqueue_assets() WC 6.8.0

protected function enqueue_assets( array $attributes ) {
	parent::enqueue_assets( $attributes );
	$text_color = StyleAttributesUtils::get_text_color_class_and_style( $attributes );
	$bg_color   = StyleAttributesUtils::get_background_color_class_and_style( $attributes );

	$styles = array(
		array(
			'selector'   => '.wc-block-mini-cart__drawer .components-modal__header',
			'properties' => array(
				array(
					'property' => 'color',
					'value'    => $text_color ? $text_color['value'] : false,
				),
			),
		),
		array(
			'selector'   => array(
				'.wc-block-mini-cart__footer .wc-block-mini-cart__footer-actions .wc-block-mini-cart__footer-checkout',
				'.wc-block-mini-cart__footer .wc-block-mini-cart__footer-actions .wc-block-mini-cart__footer-checkout:hover',
				'.wc-block-mini-cart__footer .wc-block-mini-cart__footer-actions .wc-block-mini-cart__footer-checkout:focus',
				'.wc-block-mini-cart__footer .wc-block-mini-cart__footer-actions .wc-block-mini-cart__footer-cart:hover',
				'.wc-block-mini-cart__footer .wc-block-mini-cart__footer-actions .wc-block-mini-cart__footer-cart:focus',
				'.wc-block-mini-cart__shopping-button a:hover',
				'.wc-block-mini-cart__shopping-button a:focus',
			),
			'properties' => array(
				array(
					'property' => 'color',
					'value'    => $bg_color ? $bg_color['value'] : false,
				),
				array(
					'property' => 'border-color',
					'value'    => $text_color ? $text_color['value'] : false,
				),
				array(
					'property' => 'background-color',
					'value'    => $text_color ? $text_color['value'] : false,
				),
			),
		),
	);

	$parsed_style = '';

	foreach ( $styles as $style ) {
		$selector = is_array( $style['selector'] ) ? implode( ',', $style['selector'] ) : $style['selector'];

		$properties = array_filter(
			$style['properties'],
			function( $property ) {
				return $property['value'];
			}
		);

		if ( ! empty( $properties ) ) {
			$parsed_style .= $selector . '{';
			foreach ( $properties as $property ) {
				$parsed_style .= sprintf( '%1$s:%2$s;', $property['property'], $property['value'] );
			}
			$parsed_style .= '}';
		}
	}

	wp_add_inline_style(
		'wc-blocks-style',
		$parsed_style
	);
}