diff --git a/wp-includes/block-supports/elements.php b/wp-includes/block-supports/elements.php index 730d1a301b..fa2536908c 100644 --- a/wp-includes/block-supports/elements.php +++ b/wp-includes/block-supports/elements.php @@ -46,13 +46,18 @@ function wp_render_elements_support( $block_content, $block ) { $link_color = _wp_array_get( $block['attrs'], array( 'style', 'elements', 'link', 'color', 'text' ), null ); } + $hover_link_color = null; + if ( ! empty( $block['attrs'] ) ) { + $hover_link_color = _wp_array_get( $block['attrs'], array( 'style', 'elements', 'link', ':hover', 'color', 'text' ), null ); + } + /* - * For now we only care about link color. + * For now we only care about link colors. * This code in the future when we have a public API * should take advantage of WP_Theme_JSON::compute_style_properties * and work for any element and style. */ - if ( null === $link_color ) { + if ( null === $link_color && null === $hover_link_color ) { return $block_content; } @@ -104,6 +109,16 @@ function wp_render_elements_support_styles( $pre_render, $block ) { ) ); + if ( isset( $link_block_styles[':hover'] ) ) { + wp_style_engine_get_styles( + $link_block_styles[':hover'], + array( + 'selector' => ".$class_name a:hover", + 'context' => 'block-supports', + ) + ); + } + return null; } diff --git a/wp-includes/class-wp-theme-json.php b/wp-includes/class-wp-theme-json.php index 1af02531cc..f5f6d1f63e 100644 --- a/wp-includes/class-wp-theme-json.php +++ b/wp-includes/class-wp-theme-json.php @@ -360,6 +360,9 @@ class WP_Theme_JSON { 'duotone' => null, 'gradients' => null, 'link' => null, + 'heading' => null, + 'button' => null, + 'caption' => null, 'palette' => null, 'text' => null, ), @@ -562,6 +565,9 @@ class WP_Theme_JSON { array( 'border', 'style' ), array( 'border', 'width' ), array( 'color', 'link' ), + array( 'color', 'heading' ), + array( 'color', 'button' ), + array( 'color', 'caption' ), array( 'dimensions', 'minHeight' ), array( 'position', 'sticky' ), array( 'spacing', 'blockGap' ), diff --git a/wp-includes/theme.json b/wp-includes/theme.json index 650072457d..6b7db89da2 100644 --- a/wp-includes/theme.json +++ b/wp-includes/theme.json @@ -11,6 +11,8 @@ }, "color": { "background": true, + "button": true, + "caption": true, "custom": true, "customDuotone": true, "customGradient": true, @@ -121,6 +123,7 @@ "slug": "midnight" } ], + "heading": true, "link": false, "palette": [ { diff --git a/wp-includes/version.php b/wp-includes/version.php index 83e3f75439..d9d5572c0a 100644 --- a/wp-includes/version.php +++ b/wp-includes/version.php @@ -16,7 +16,7 @@ * * @global string $wp_version */ -$wp_version = '6.3-alpha-56027'; +$wp_version = '6.3-alpha-56028'; /** * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.