#59404 closed defect (bug) (duplicate)
Block specific elements styles are not applied for non-core block plugins
Reported by: |
|
Owned by: | |
---|---|---|---|
Milestone: | Priority: | normal | |
Severity: | normal | Version: | 6.3.1 |
Component: | Themes | Keywords: | has-patch |
Focuses: | Cc: |
Description
### Description
Block specific styles are not serialized completely if block is not one of core plugins eg. name not starting with "core/".
As result global styles are broken and non-core blocks could only be styled one-by-one or via external CSS.
This is regression after 50310.
I have made PR 52228 which shortly address this issue.
### Step-by-step reproduction instructions
- Install custom block which:
- Name is not starting with 'core/"
- Supports elements global style (eg. button, link, h[1-6])
- Apply some global styles on your custom block for button, link or h[1-6].
theme.json example:
`
{
"styles": {
"blocks": {
"some/block": {
"color": {
"background": "black",
"text": "white"
},
"elements": {
"link": {
"color": {
"text": "red"
}
}
}
}
},
"elements": {
"color": {
"background": "white",
"text": "black"
},
"link": {
"color": {
"text": "blue"
}
}
}
}
}
`
- Link styles are not applied on frontend eg. links are blue. Block-specific elements styles are not serialized.
Result:
`
<style id='global-styles-inline-css'>
body{...
.wp-block-some-block{color: white; background-color: black;}
...
</style>
`
Expected result:
`
<style id='global-styles-inline-css'>
body{...
.wp-block-some-block{color: white; background-color: black;}
.wp-block-some-block a:where(:not(.wp-element-button)){color: red;}
...
</style>
`
### Environment info
Versions:
- WordPress: 6.2.2 and newer
- Gutenberg: 16.1.0 and newer
Duplicate of #57868.