get_block_core_post_featured_image_overlay_element_markup

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

WordPress Version: 6.1

/**
 * Generate markup for the HTML element that will be used for the overlay.
 *
 * @param array $attributes Block attributes.
 *
 * @return string HTML markup in string format.
 */
function get_block_core_post_featured_image_overlay_element_markup($attributes)
{
    $has_dim_background = isset($attributes['dimRatio']) && $attributes['dimRatio'];
    $has_gradient = isset($attributes['gradient']) && $attributes['gradient'];
    $has_custom_gradient = isset($attributes['customGradient']) && $attributes['customGradient'];
    $has_solid_overlay = isset($attributes['overlayColor']) && $attributes['overlayColor'];
    $has_custom_overlay = isset($attributes['customOverlayColor']) && $attributes['customOverlayColor'];
    $class_names = array('wp-block-post-featured-image__overlay');
    $styles = array();
    if (!$has_dim_background) {
        return '';
    }
    // Apply border classes and styles.
    $border_attributes = get_block_core_post_featured_image_border_attributes($attributes);
    if (!empty($border_attributes['class'])) {
        $class_names[] = $border_attributes['class'];
    }
    if (!empty($border_attributes['style'])) {
        $styles[] = $border_attributes['style'];
    }
    // Apply overlay and gradient classes.
    if ($has_dim_background) {
        $class_names[] = 'has-background-dim';
        $class_names[] = "has-background-dim-{$attributes['dimRatio']}";
    }
    if ($has_solid_overlay) {
        $class_names[] = "has-{$attributes['overlayColor']}-background-color";
    }
    if ($has_gradient || $has_custom_gradient) {
        $class_names[] = 'has-background-gradient';
    }
    if ($has_gradient) {
        $class_names[] = "has-{$attributes['gradient']}-gradient-background";
    }
    // Apply background styles.
    if ($has_custom_gradient) {
        $styles[] = sprintf('background-image: %s;', $attributes['customGradient']);
    }
    if ($has_custom_overlay) {
        $styles[] = sprintf('background-color: %s;', $attributes['customOverlayColor']);
    }
    return sprintf('<span class="%s" style="%s" aria-hidden="true"></span>', esc_attr(implode(' ', $class_names)), esc_attr(safecss_filter_attr(implode(' ', $styles))));
}