[wp-trac] [WordPress Trac] #64263: Backport: Add support for pseudo elements for the block and its variations on theme.json

WordPress Trac noreply at wordpress.org
Mon Nov 17 12:20:42 UTC 2025


#64263: Backport: Add support for pseudo elements for the block and its variations
on theme.json
--------------------------+-----------------------
 Reporter:  scruffian     |      Owner:  (none)
     Type:  defect (bug)  |     Status:  new
 Priority:  normal        |  Milestone:  7.0
Component:  Editor        |    Version:
 Severity:  normal        |   Keywords:  has-patch
  Focuses:                |
--------------------------+-----------------------
 == What?
 Backport for https://github.com/WordPress/gutenberg/pull/71418

 Adds support for pseudo elements on the `core/button` block for (
 ':hover', ':focus', ':focus-visible', ':active' ) at the theme.json level.
 This is also allowing the block's variations to control the same pseudo
 elements, so now we can style hover for the outline variation too.

 == Why?
 This is needed ahead of
 https://github.com/WordPress/gutenberg/issues/38277 since right now we are
 only supporting pseudo elements on links and button elements, we also want
 to support them at the block level. This PR brings them in alignment and
 opens the door to support things like :hover for other blocks that don't
 have an element (like group for example)

 == How?
 By allowing the pseudo elements for the specific blocks in
 VALID_BLOCK_PSEUDO_SELECTORS, in a similar way we do for elements.

 == Testing Instructions
 Add the following to your theme and check that it behaves as expected on
 the frontend:

 {{{
 "styles": {
         "blocks": {
                 "core/button": {
                         "color": {
                                 "background": "blue"
                         },
                         ":hover": {
                                 "color": {
                                         "background": "green"
                                 }
                         },
                         ":focus": {
                                 "color": {
                                         "background": "purple"
                                 }
                         },
                         "variations": {
                                 "outline": {
                                         ":hover": {
                                                 "color": {
                                                         "background":
 "pink"
                                                 }
                                         }
                                 }
                         }
                 }
         }
 }
 }}}

 == Screenshots

 [[Image(https://github.com/user-
 attachments/assets/7e215a0c-f841-4650-b2a0-a2d2f3f4dd49)]]

-- 
Ticket URL: <https://core.trac.wordpress.org/ticket/64263>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list