wp_apply_dimensions_support

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

WordPress Version: 6.4

/**
 * Adds CSS classes for block dimensions to the incoming attributes array.
 * This will be applied to the block markup in the front-end.
 *
 * @since 5.9.0
 * @since 6.2.0 Added `minHeight` support.
 * @access private
 *
 * @param WP_Block_Type $block_type       Block Type.
 * @param array         $block_attributes Block attributes.
 * @return array Block dimensions CSS classes and inline styles.
 */
function wp_apply_dimensions_support($block_type, $block_attributes)
{
    if (wp_should_skip_block_supports_serialization($block_type, 'dimensions')) {
        return array();
    }
    $attributes = array();
    // Width support to be added in near future.
    $has_min_height_support = block_has_support($block_type, array('dimensions', 'minHeight'), false);
    $block_styles = isset($block_attributes['style']) ? $block_attributes['style'] : null;
    if (!$block_styles) {
        return $attributes;
    }
    $skip_min_height = wp_should_skip_block_supports_serialization($block_type, 'dimensions', 'minHeight');
    $dimensions_block_styles = array();
    $dimensions_block_styles['minHeight'] = null;
    if ($has_min_height_support && !$skip_min_height) {
        $dimensions_block_styles['minHeight'] = isset($block_styles['dimensions']['minHeight']) ? $block_styles['dimensions']['minHeight'] : null;
    }
    $styles = wp_style_engine_get_styles(array('dimensions' => $dimensions_block_styles));
    if (!empty($styles['css'])) {
        $attributes['style'] = $styles['css'];
    }
    return $attributes;
}

WordPress Version: 6.2

/**
 * Adds CSS classes for block dimensions to the incoming attributes array.
 * This will be applied to the block markup in the front-end.
 *
 * @since 5.9.0
 * @since 6.2.0 Added `minHeight` support.
 * @access private
 *
 * @param WP_Block_Type $block_type       Block Type.
 * @param array         $block_attributes Block attributes.
 * @return array Block dimensions CSS classes and inline styles.
 */
function wp_apply_dimensions_support($block_type, $block_attributes)
{
    // phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable
    if (wp_should_skip_block_supports_serialization($block_type, 'dimensions')) {
        return array();
    }
    $attributes = array();
    // Width support to be added in near future.
    $has_min_height_support = block_has_support($block_type, array('dimensions', 'minHeight'), false);
    $block_styles = isset($block_attributes['style']) ? $block_attributes['style'] : null;
    if (!$block_styles) {
        return $attributes;
    }
    $skip_min_height = wp_should_skip_block_supports_serialization($block_type, 'dimensions', 'minHeight');
    $dimensions_block_styles = array();
    $dimensions_block_styles['minHeight'] = ($has_min_height_support && !$skip_min_height) ? _wp_array_get($block_styles, array('dimensions', 'minHeight'), null) : null;
    $styles = wp_style_engine_get_styles(array('dimensions' => $dimensions_block_styles));
    if (!empty($styles['css'])) {
        $attributes['style'] = $styles['css'];
    }
    return $attributes;
}

WordPress Version: 6.1

/**
 * Adds CSS classes for block dimensions to the incoming attributes array.
 * This will be applied to the block markup in the front-end.
 *
 * @since 5.9.0
 * @access private
 *
 * @param WP_Block_Type $block_type       Block Type.
 * @param array         $block_attributes Block attributes.
 * @return array Block dimensions CSS classes and inline styles.
 */
function wp_apply_dimensions_support($block_type, $block_attributes)
{
    // phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable
    if (wp_should_skip_block_supports_serialization($block_type, '__experimentalDimensions')) {
        return array();
    }
    $styles = array();
    // Height support to be added in near future.
    // Width support to be added in near future.
    return empty($styles) ? array() : array('style' => implode(' ', $styles));
}

WordPress Version: 5.9

/**
 * Adds CSS classes for block dimensions to the incoming attributes array.
 * This will be applied to the block markup in the front-end.
 *
 * @since 5.9.0
 * @access private
 *
 * @param WP_Block_Type $block_type       Block Type.
 * @param array         $block_attributes Block attributes.
 * @return array Block dimensions CSS classes and inline styles.
 */
function wp_apply_dimensions_support($block_type, $block_attributes)
{
    // phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable
    if (wp_skip_dimensions_serialization($block_type)) {
        return array();
    }
    $styles = array();
    // Height support to be added in near future.
    // Width support to be added in near future.
    return empty($styles) ? array() : array('style' => implode(' ', $styles));
}