wp_apply_shadow_support

The timeline below displays how wordpress function wp_apply_shadow_support has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 6.5

/**
 * 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.
 *
 * @since 6.3.0
 * @access private
 *
 * @param  WP_Block_Type $block_type       Block type.
 * @param  array         $block_attributes Block attributes.
 * @return array Shadow CSS classes and inline styles.
 */
function wp_apply_shadow_support($block_type, $block_attributes)
{
    $has_shadow_support = block_has_support($block_type, 'shadow', false);
    if (!$has_shadow_support) {
        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;
}

WordPress Version: 6.4

/**
 * 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.
 *
 * @since 6.3.0
 * @access private
 *
 * @param  WP_Block_Type $block_type       Block type.
 * @param  array         $block_attributes Block attributes.
 * @return array Shadow CSS classes and inline styles.
 */
function wp_apply_shadow_support($block_type, $block_attributes)
{
    $has_shadow_support = block_has_support($block_type, '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;
}

WordPress Version: 6.3

/**
 * 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.
 *
 * @since 6.3.0
 * @access private
 *
 * @param  WP_Block_Type $block_type       Block type.
 * @param  array         $block_attributes Block attributes.
 * @return array Shadow CSS classes and inline styles.
 */
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;
}