Commit bb67387bdd for wordpress.org
commit bb67387bdda12f22f5b11fa7eb958a7e8cc860a4
Author: isabel_brison <isabel_brison@git.wordpress.org>
Date: Mon Oct 19 04:10:49 2026 +0000
Editor: ignore unsupported duotone attribute types.
Ensure early return from duotone render if attribute is neither string nor array.
Props yotatameguchi, westonruter, ramonopoly, isabel_brison.
See #65817.
Built from https://develop.svn.wordpress.org/trunk@64493
git-svn-id: http://core.svn.wordpress.org/trunk@63643 1a063a9b-81f0-0310-95a4-ce76da25c4cd
diff --git a/wp-includes/class-wp-duotone.php b/wp-includes/class-wp-duotone.php
index 482ddc6c13..08beac3cd4 100644
--- a/wp-includes/class-wp-duotone.php
+++ b/wp-includes/class-wp-duotone.php
@@ -1116,9 +1116,12 @@ class WP_Duotone {
*/
$duotone_attr = $block['attrs']['style']['color']['duotone'];
- $is_preset = is_string( $duotone_attr ) && self::is_preset( $duotone_attr );
- $is_css = is_string( $duotone_attr ) && ! $is_preset;
- $is_custom = is_array( $duotone_attr );
+ if ( ! is_string( $duotone_attr ) && ! is_array( $duotone_attr ) ) {
+ return $block_content;
+ }
+
+ $is_preset = is_string( $duotone_attr ) && self::is_preset( $duotone_attr );
+ $is_css = is_string( $duotone_attr ) && ! $is_preset;
if ( $is_preset ) {
@@ -1136,7 +1139,7 @@ class WP_Duotone {
// Just block CSS.
self::enqueue_block_css( $filter_id, $duotone_selector, $filter_value );
- } elseif ( $is_custom ) {
+ } else {
$slug = wp_unique_id( sanitize_key( implode( '-', $duotone_attr ) . '-' ) ); // e.g. '000000-ffffff-2'.
$filter_id = self::get_filter_id( $slug ); // e.g. 'wp-duotone-filter-000000-ffffff-2'.
$filter_value = self::get_filter_url( $filter_id ); // e.g. 'url(#wp-duotone-filter-000000-ffffff-2)'.
@@ -1148,7 +1151,7 @@ class WP_Duotone {
// SVG filter and block CSS.
self::enqueue_custom_filter( $filter_id, $duotone_selector, $filter_value, $filter_data );
}
- } elseif ( $has_global_styles_duotone ) {
+ } else {
$slug = $global_styles_block_names[ $block['blockName'] ]; // e.g. 'blue-orange'.
$filter_id = self::get_filter_id( $slug ); // e.g. 'wp-duotone-filter-blue-orange'.
$filter_value = self::get_css_var( $slug ); // e.g. 'var(--wp--preset--duotone--blue-orange)'.
diff --git a/wp-includes/version.php b/wp-includes/version.php
index 1519a07a27..033f6fa7af 100644
--- a/wp-includes/version.php
+++ b/wp-includes/version.php
@@ -16,7 +16,7 @@
*
* @global string $wp_version
*/
-$wp_version = '7.2-alpha-64492';
+$wp_version = '7.2-alpha-64493';
/**
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.