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.