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))));
}