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.

Внутренняя функция — эта функция рассчитана на использование самим ядром. Не рекомендуется использовать эту функцию в своем коде.

Хуков нет.

Возвращает

Массив. Shadow CSS classes and inline styles.

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

wp_apply_shadow_support( $block_type, $block_attributes );
$block_type(WP_Block_Type) (обязательный)
Block type.
$block_attributes(массив) (обязательный)
Block attributes.

Список изменений

С версии 6.3.0 Введена.

Код wp_apply_shadow_support() WP 6.3.1

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

	if ( ! $has_shadow_support ) {
		return array();
	}

	$shadow_block_styles = array();

	$preset_shadow                 = array_key_exists( 'shadow', $block_attributes ) ? "var:preset|shadow|{$block_attributes['shadow']}" : null;
	$custom_shadow                 = isset( $block_attributes['style']['shadow'] ) ? $block_attributes['style']['shadow'] : null;
	$shadow_block_styles['shadow'] = $preset_shadow ? $preset_shadow : $custom_shadow;

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

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

	return $attributes;
}