Automattic\WooCommerce\Blocks\BlockTypes
MiniCartContents::enqueue_assets
Enqueue frontend assets for this block, just in time for rendering.
Method of the class: MiniCartContents{}
No Hooks.
Returns
null. Nothing (null).
Usage
// protected - for code of main (parent) or child class $result = $this->enqueue_assets( $attributes, $content, $block );
- $attributes(array) (required)
- Any attributes that currently are available from the block.
- $content(string) (required)
- The block content.
- $block(WP_Block) (required)
- The block object.
MiniCartContents::enqueue_assets() MiniCartContents::enqueue assets code WC 10.7.0
protected function enqueue_assets( array $attributes, $content, $block ) {
parent::enqueue_assets( $attributes, $content, $block );
$text_color = StyleAttributesUtils::get_text_color_class_and_style( $attributes );
$bg_color = StyleAttributesUtils::get_background_color_class_and_style( $attributes );
$styles = array(
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.wc-block-components-button:hover',
'.wc-block-mini-cart__footer .wc-block-mini-cart__footer-actions .wc-block-mini-cart__footer-cart.wc-block-components-button: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 = sprintf(
':root { --drawer-width: %s; --neg-drawer-width: calc(var(--drawer-width) * -1); }',
esc_html( $attributes['width'] )
);
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
);
}