#56684 closed defect (bug) (reported-upstream)
Fluid and spacing settings in theme.json are lost when theme expor
Reported by: | ramonopoly | Owned by: | |
---|---|---|---|
Milestone: | Priority: | normal | |
Severity: | normal | Version: | 6.1 |
Component: | Themes | Keywords: | has-patch |
Focuses: | Cc: |
Description
When exporting a theme that uses some settings.spacing
values and/or settings.typography.fluid
,
- settings.spacing.spacingScale.steps -> field is lost
- settings.spacing.spacingSizes.slug -> quotation is lost
- settings.typography.fluid -> field is lost
## Step-by-step reproduction instructions
- Use WP 6.1 nightly and Twenty Twenty Three without gutenberg plugin
- Go to the site editor.
- Select Three dots menu > Export
To fix:
- Fluid typography needs to be added as a valid setting in WP_Theme_JSON
- The spacing presets config for spacingScale needs to be removed in WP_Theme_JSON as only spacingSizes should be defined.
Issue on the Gutenberg repo: https://github.com/WordPress/gutenberg/issues/44546
Props to Github user mayuge3
Change History (9)
This ticket was mentioned in PR #3362 on WordPress/wordpress-develop by glendaviesnz.
2 years ago
#1
2 years ago
#2
Thank you @glendaviesnz 💟
It's looking good. Should the spacing slug value be a string? E.g., "slug": "30"
## 2023 theme.json
{{{json
"typography": {
"dropCap": false,
"fluid": true,
"fontFamilies": [
...
"spacing": {
"spacingScale": {
"steps": 0
},
"spacingSizes": [
{
"size": "clamp(1.5rem, 5vw, 2rem)",
"slug": "30",
"name": "30"
},
}}}
## Export before
{{{json
"typography": {
"dropCap": false,
"fontFamilies": [
....
"spacing": {
"spacingScale": [],
"spacingSizes": [
{
"name": "30",
"size": "clamp(1.5rem, 5vw, 2rem)",
"slug": 30
},
}}}
## After
{{{json
"typography": {
"dropCap": false,
"fluid": true,
"fontFamilies": [
...
"spacing": {
"spacingScale": {
"steps": 0
},
"spacingSizes": [
{
"name": "30",
"size": "clamp(1.5rem, 5vw, 2rem)",
"slug": 30
},
}}}
dream-encode commented on PR #3362:
2 years ago
#3
I was looking to merge this, but I want to make sure this comment by @tellthemachines is addressed in the final PR:
https://github.com/WordPress/gutenberg/pull/44555#pullrequestreview-1124645012
dream-encode commented on PR #3362:
2 years ago
#4
After looking at the code and the comments, it appears the concerns are addressed. Prepping a merge commit to core.
#5
@
2 years ago
- Milestone Awaiting Review deleted
- Resolution set to reported-upstream
- Status changed from new to closed
Closing this as reported-upstream
in https://github.com/WordPress/gutenberg/issues/44546.
dream-encode commented on PR #3362:
2 years ago
#6
Merged into core in https://core.trac.wordpress.org/changeset/54360.
This ticket was mentioned in PR #3371 on WordPress/wordpress-develop by glendaviesnz.
2 years ago
#7
The new spacing preset slugs get cast to ints when a theme is exported as reported in https://github.com/WordPress/gutenberg/issues/44546. This PR makes sure they are cast back to strings if PHP converts them to ints when they are used as array keys.
Trac ticket: https://core.trac.wordpress.org/ticket/56684
### Testing
- In a site with the 2023 theme set export the theme from the site editor
- Make sure the exported theme.json has the settings.spacingScale slugs as strings
- Check that the spacing presets still work as expected in post editor, site editor and frontend
dream-encode commented on PR #3371:
2 years ago
#9
Merged into core in https://core.trac.wordpress.org/changeset/54363.
The new fluid typography setting is missing from the theme.json valid values in 6.1, which causes the value to be dropped from theme exports from the editor as reported here.
Trac ticket: https://core.trac.wordpress.org/ticket/56684