wp_apply_shadow_support()WP 6.3.0

Add CSS classes and inline styles for shadow features to the incoming attributes array. This will be applied to the block markup in the front-end.

Internal function — this function is designed to be used by the kernel itself. It is not recommended to use this function in your code.

No Hooks.

Returns

Array. Shadow CSS classes and inline styles.

Usage

wp_apply_shadow_support( $block_type, $block_attributes );
$block_type(WP_Block_Type) (required)
Block type.
$block_attributes(array) (required)
Block attributes.

Changelog

Since 6.3.0 Introduced.
Since 6.6.0 Return early if __experimentalSkipSerialization is true.

wp_apply_shadow_support() code WP 6.9

function wp_apply_shadow_support( $block_type, $block_attributes ) {
	$has_shadow_support = block_has_support( $block_type, 'shadow', false );

	if (
		! $has_shadow_support ||
		wp_should_skip_block_supports_serialization( $block_type, 'shadow' )
	) {
		return array();
	}

	$shadow_block_styles = array();

	$custom_shadow                 = $block_attributes['style']['shadow'] ?? null;
	$shadow_block_styles['shadow'] = $custom_shadow;

	$attributes = array();
	$styles     = wp_style_engine_get_styles( $shadow_block_styles );

	if ( ! empty( $styles['css'] ) ) {
		$attributes['style'] = $styles['css'];
	}

	return $attributes;
}