Closed erikjoling closed 3 years ago
Hi For theme.json, try false instead of null.
Hi,
Thank you for your suggestion.
Unfortunately, that breaks the site-editor as well in my situation. "palette": false
"palette": []
? (square brackets)
"palette": []
? (square brackets)
That doesn't break the site-editor, but at the same time it also doesn't disable the color controls (which is what I'm trying to test). The default colors are shown.
I experience the same issue. Also, if I use theme.json, I cannot disable editor color palettes anymore in functions.php as theme.json enjoys precedence.
It's not just the site editor that breaks when theme.json
contains invalid values.
I got the following Fatal error just visiting the site when I set settings.color.gradients
to false
.
Setting it to an empty array resolved the problem.
[26-Jul-2021 07:28:34 UTC] PHP Fatal error: Uncaught TypeError: WP_Theme_JSON_Resolver_Gutenberg::translate_theme_json_chunk(): Argument #1 ($array_to_translate) must be of type array, bool given, called in C:\apache\htdocs\wp55\wp-content\plugins\gutenberg\lib\class-wp-theme-json-resolver-gutenberg.php on line 233 and defined in C:\apache\htdocs\wp55\wp-content\plugins\gutenberg\lib\class-wp-theme-json-resolver-gutenberg.php:170
Stack trace:
#0 C:\apache\htdocs\wp55\wp-content\plugins\gutenberg\lib\class-wp-theme-json-resolver-gutenberg.php(233): WP_Theme_JSON_Resolver_Gutenberg::translate_theme_json_chunk(false, 'name', 'Gradient name', 'written')
#1 C:\apache\htdocs\wp55\wp-content\plugins\gutenberg\lib\class-wp-theme-json-resolver-gutenberg.php(280): WP_Theme_JSON_Resolver_Gutenberg::translate(Array, 'written')
#2 C:\apache\htdocs\wp55\wp-content\plugins\gutenberg\lib\class-wp-theme-json-resolver-gutenberg.php(419): WP_Theme_JSON_Resolver_Gutenberg::get_theme_data(Array)
#3 C:\apache\htdocs\wp55\wp-content\plugins\gutenberg\lib\global-styles.php(112): WP_Theme_JSON_Resolver_Gutenberg::get_merged_data(Array, 'user')
#4 C:\apache\htdocs\wp55\wp-includes\class-wp-hook.php(294): gutenberg_experimental_global_styles_settings(Array)
#5 C:\apache\htdocs\wp55\wp-includes\plugin.php(212): WP_Hook->apply_filters(Array, Array)
#6 C:\apache\htdocs\wp55\wp-admin\edit-form-blocks.php(429): apply_filters('block_editor_se...', Array, Object(WP_Post))
#7 C:\apache\htdocs\wp55\wp-admin\post.php(187): require('C:\\apache\\htdoc...')
#8 {main}
thrown in C:\apache\htdocs\wp55\wp-content\plugins\gutenberg\lib\class-wp-theme-json-resolver-gutenberg.php on line 170
I think there's some unclear expectations what values are expected for theme.json which could be minimized, in part by better documentation.
Some objects' values in theme.json expect arrays; other objects' value expect binary true/false;
Null is a valid value for JSON, additional reference source from json.org
There has been changes made since July 26: https://github.com/WordPress/gutenberg/pull/34420 https://github.com/WordPress/gutenberg/pull/33280
@erikjoling to answer your question, how to remove all color panels including the default ones provided by Gutenberg, I believe the following works:
"color": {
"custom": false,
"customGradient": false,
"gradients": [],
"palette": []
},
You are right. The problem is solved since WP5.8. Closing this issue. Thanks for the useful information everyone!
Description
When I try to disable colors, gradients or font-sizes I can't enter the Site Editor.
Step-by-step reproduction instructions
Disable through theme-support:
or disable through theme.json:
Expected behaviour
Have the controls disabled and being able to enter the site-editor.
Actual behaviour
Have the controls disabled and not being able to enter the site-editor.
WordPress information
Device information