From 5f37cb1fc71516bc27c7a3434fae6d1828be44d1 Mon Sep 17 00:00:00 2001 From: Riad Benguella Date: Tue, 20 Feb 2024 11:20:22 +0000 Subject: [PATCH] Editor: Fix instance element styles for links applying to buttons. These changes fix the selector used by block instance element styles for links so they do not get incorrectly applied to buttons. Props aaronrobertshaw, freewebmentor, mukesh27. Fixes #60557. git-svn-id: https://develop.svn.wordpress.org/trunk@57664 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-includes/block-supports/elements.php | 4 ++-- .../tests/block-supports/wpRenderElementsSupportStyles.php | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/wp-includes/block-supports/elements.php b/src/wp-includes/block-supports/elements.php index 4f3de8c5b8..e7fa76a9ae 100644 --- a/src/wp-includes/block-supports/elements.php +++ b/src/wp-includes/block-supports/elements.php @@ -166,8 +166,8 @@ function wp_render_elements_support_styles( $pre_render, $block ) { 'skip' => $skip_button_color_serialization, ), 'link' => array( - 'selector' => ".$class_name a", - 'hover_selector' => ".$class_name a:hover", + 'selector' => ".$class_name a:where(:not(.wp-element-button))", + 'hover_selector' => ".$class_name a:where(:not(.wp-element-button)):hover", 'skip' => $skip_link_color_serialization, ), 'heading' => array( diff --git a/tests/phpunit/tests/block-supports/wpRenderElementsSupportStyles.php b/tests/phpunit/tests/block-supports/wpRenderElementsSupportStyles.php index 0c3532a5a3..3be0fa1e10 100644 --- a/tests/phpunit/tests/block-supports/wpRenderElementsSupportStyles.php +++ b/tests/phpunit/tests/block-supports/wpRenderElementsSupportStyles.php @@ -22,6 +22,7 @@ class Tests_Block_Supports_WpRenderElementsSupportStyles extends WP_UnitTestCase * Tests that elements block support generates appropriate styles. * * @ticket 59555 + * @ticket 60557 * * @covers ::wp_render_elements_support_styles * @@ -139,8 +140,8 @@ class Tests_Block_Supports_WpRenderElementsSupportStyles extends WP_UnitTestCase ), ), ), - 'expected_styles' => '/^.wp-elements-[a-f0-9]{32} a' . $color_css_rules . - '.wp-elements-[a-f0-9]{32} a:hover' . $color_css_rules . '$/', + 'expected_styles' => '/^.wp-elements-[a-f0-9]{32} a:where\(:not\(.wp-element-button\)\)' . $color_css_rules . + '.wp-elements-[a-f0-9]{32} a:where\(:not\(.wp-element-button\)\):hover' . $color_css_rules . '$/', ), 'generic heading element styles are applied' => array( 'color_settings' => array( 'heading' => true ),