From c7e922a83fe7db48d3e70943db6edf7d17c8f6b9 Mon Sep 17 00:00:00 2001 From: Aaron Robertshaw <60436221+aaronrobertshaw@users.noreply.github.com> Date: Thu, 15 Aug 2024 15:37:45 +0700 Subject: [PATCH 1/5] Block Styles: Ensure unique classname generation for variations --- .../block-supports/block-style-variations.php | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/wp-includes/block-supports/block-style-variations.php b/src/wp-includes/block-supports/block-style-variations.php index 2e86cb71afc17..c318768780ef2 100644 --- a/src/wp-includes/block-supports/block-style-variations.php +++ b/src/wp-includes/block-supports/block-style-variations.php @@ -11,6 +11,8 @@ * Generate block style variation instance name. * * @since 6.6.0 + * @deprecated 6.7.0 Use `wp_unique_id( $variation . '--' )` instead. + * * @access private * * @param array $block Block object. @@ -19,6 +21,7 @@ * @return string The unique variation name. */ function wp_create_block_style_variation_instance_name( $block, $variation ) { + _deprecated_function( __FUNCTION__, '6.7.0', "wp_unique_id( \$variation . '--' )" ); return $variation . '--' . md5( serialize( $block ) ); } @@ -124,7 +127,7 @@ function wp_render_block_style_variation_support_styles( $parsed_block ) { */ wp_resolve_block_style_variation_ref_values( $variation_data, $theme_json ); - $variation_instance = wp_create_block_style_variation_instance_name( $parsed_block, $variation ); + $variation_instance = wp_unique_id( $variation . '--' ); $class_name = "is-style-$variation_instance"; $updated_class_name = $parsed_block['attrs']['className'] . " $class_name"; @@ -230,11 +233,9 @@ function wp_render_block_style_variation_class_name( $block_content, $block ) { /* * Matches a class prefixed by `is-style`, followed by the - * variation slug, then `--`, and finally a hash. - * - * See `wp_create_block_style_variation_instance_name` for class generation. + * variation slug, then `--`, and finally an instance number. */ - preg_match( '/\bis-style-(\S+?--\w+)\b/', $block['attrs']['className'], $matches ); + preg_match( '/\bis-style-(\S+?--\d+)\b/', $block['attrs']['className'], $matches ); if ( empty( $matches ) ) { return $block_content; From 84c0c98515b34b2dd34cb1dadd901fdcd8cd9495 Mon Sep 17 00:00:00 2001 From: Aaron Robertshaw <60436221+aaronrobertshaw@users.noreply.github.com> Date: Fri, 16 Aug 2024 14:27:43 +0700 Subject: [PATCH 2/5] Only use replacement function name --- src/wp-includes/block-supports/block-style-variations.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/wp-includes/block-supports/block-style-variations.php b/src/wp-includes/block-supports/block-style-variations.php index c318768780ef2..b1ef56959ec25 100644 --- a/src/wp-includes/block-supports/block-style-variations.php +++ b/src/wp-includes/block-supports/block-style-variations.php @@ -21,7 +21,7 @@ * @return string The unique variation name. */ function wp_create_block_style_variation_instance_name( $block, $variation ) { - _deprecated_function( __FUNCTION__, '6.7.0', "wp_unique_id( \$variation . '--' )" ); + _deprecated_function( __FUNCTION__, '6.7.0', 'wp_unique_id' ); return $variation . '--' . md5( serialize( $block ) ); } From b851a6b6ecf7885b2f7f841e903e718fe23a0cc5 Mon Sep 17 00:00:00 2001 From: Aaron Robertshaw <60436221+aaronrobertshaw@users.noreply.github.com> Date: Wed, 28 Aug 2024 11:32:57 +0700 Subject: [PATCH 3/5] Flag expected deprecation in unit test --- .../block-supports/wpCreateBlockStyleVariationInstanceName.php | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/phpunit/tests/block-supports/wpCreateBlockStyleVariationInstanceName.php b/tests/phpunit/tests/block-supports/wpCreateBlockStyleVariationInstanceName.php index 1e37d48e8ed1d..6ac0ee8d8ff54 100644 --- a/tests/phpunit/tests/block-supports/wpCreateBlockStyleVariationInstanceName.php +++ b/tests/phpunit/tests/block-supports/wpCreateBlockStyleVariationInstanceName.php @@ -13,6 +13,7 @@ class Tests_Block_Supports_WpCreateBlockStyleVariationInstanceName extends WP_Un * @ticket 61312 * * @covers ::wp_create_block_style_variation_instance_name + * @expectedDeprecated wp_create_block_style_variation_instance_name */ public function test_block_style_variation_instance_name_generation() { $block = array( 'name' => 'test/block' ); From 41ea40968e84ee2a78cfa599be1f3a9c9dae3f0a Mon Sep 17 00:00:00 2001 From: Aaron Robertshaw <60436221+aaronrobertshaw@users.noreply.github.com> Date: Wed, 28 Aug 2024 12:34:19 +0700 Subject: [PATCH 4/5] Move deprecation function to correct location --- .../block-supports/block-style-variations.php | 18 ------------------ src/wp-includes/deprecated.php | 18 ++++++++++++++++++ 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/wp-includes/block-supports/block-style-variations.php b/src/wp-includes/block-supports/block-style-variations.php index b1ef56959ec25..4397a34af9701 100644 --- a/src/wp-includes/block-supports/block-style-variations.php +++ b/src/wp-includes/block-supports/block-style-variations.php @@ -7,24 +7,6 @@ * @since 6.6.0 */ -/** - * Generate block style variation instance name. - * - * @since 6.6.0 - * @deprecated 6.7.0 Use `wp_unique_id( $variation . '--' )` instead. - * - * @access private - * - * @param array $block Block object. - * @param string $variation Slug for the block style variation. - * - * @return string The unique variation name. - */ -function wp_create_block_style_variation_instance_name( $block, $variation ) { - _deprecated_function( __FUNCTION__, '6.7.0', 'wp_unique_id' ); - return $variation . '--' . md5( serialize( $block ) ); -} - /** * Determines the block style variation names within a CSS class string. * diff --git a/src/wp-includes/deprecated.php b/src/wp-includes/deprecated.php index 457b7fc136718..be92ba6796c18 100644 --- a/src/wp-includes/deprecated.php +++ b/src/wp-includes/deprecated.php @@ -6387,3 +6387,21 @@ function wp_enqueue_global_styles_custom_css() { wp_add_inline_style( 'global-styles', $custom_css ); } } + +/** + * Generate block style variation instance name. + * + * @since 6.6.0 + * @deprecated 6.7.0 Use `wp_unique_id( $variation . '--' )` instead. + * + * @access private + * + * @param array $block Block object. + * @param string $variation Slug for the block style variation. + * + * @return string The unique variation name. + */ +function wp_create_block_style_variation_instance_name( $block, $variation ) { + _deprecated_function( __FUNCTION__, '6.7.0', 'wp_unique_id' ); + return $variation . '--' . md5( serialize( $block ) ); +} From f8b03e21ef8b4c12d46241d8048675e5b26d8bd8 Mon Sep 17 00:00:00 2001 From: Aaron Robertshaw <60436221+aaronrobertshaw@users.noreply.github.com> Date: Wed, 28 Aug 2024 13:04:43 +0700 Subject: [PATCH 5/5] Add blank line before @expectedDeprecated Co-authored-by: Mukesh Panchal --- .../block-supports/wpCreateBlockStyleVariationInstanceName.php | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/phpunit/tests/block-supports/wpCreateBlockStyleVariationInstanceName.php b/tests/phpunit/tests/block-supports/wpCreateBlockStyleVariationInstanceName.php index 6ac0ee8d8ff54..10475587287a8 100644 --- a/tests/phpunit/tests/block-supports/wpCreateBlockStyleVariationInstanceName.php +++ b/tests/phpunit/tests/block-supports/wpCreateBlockStyleVariationInstanceName.php @@ -13,6 +13,7 @@ class Tests_Block_Supports_WpCreateBlockStyleVariationInstanceName extends WP_Un * @ticket 61312 * * @covers ::wp_create_block_style_variation_instance_name + * * @expectedDeprecated wp_create_block_style_variation_instance_name */ public function test_block_style_variation_instance_name_generation() {