• I’ve a similar issue to @ja4st3r on this post – https://www.ads-software.com/support/topic/deactivate-gutenberg-block-controls/ but want to ask a broader question:

    I typically work with designers who want more functionality and specific designs than the core editor can currently give, but I advocate for the core editor as it
    – avoids layering a separate builder system on top (with all those overheads)
    – sunsetting WYSIWYGs means an ACF flexible fields won’t cut it anymore
    – where it works, I feel it gives a fairly intuitive interface.

    However the increase in inlining styles, without opting in, has damaged previous site layouts for me (and were painful to track down & fix). One stated aim for FSE and the block controls was to give a user the ability to style without CSS, but for built sites where correct css was in place, triggering inline styling off container classes regardless of context threw out stable layouts (since fixed with more !importants and overly specific css). Further to that, additional controls – for example colour and typography – have also appeared. While I’ve learnt to restrict them in current builds, some previous clients have been a little too – how to say it? – playful with them, detracting from the overall design.
    I’m concerned that the core editor might not only have been a bad decision for previous builds but may continue to evolve layout breaking options for current projects.

    The theme.json seems like the best effort so far to group options for block controls but isn’t keeping pace: many options are apparently not integrated and seem over-engineered (and so useless for a bear of little brains like me)
    – block variants are still php registered / deregistered
    – the styles seem spread across “settings: custom” and “styles” in the json
    – additional parameters appear locked away in the block.json files
    – ideally simple class names are replaced with complex skewered ‘custom’ properties --wp--custom--{key}--{nested-key}: {value};
    – removing some block control tabs need multiple sub-groups removed (see color on a button below). Presumably a future update (radialgradient? or ‘fluid’ font sizes in typography) could cause the tab to reappear again?

    
    "settings": {
        "blocks": {	
             "core/button": {
    		"color": {
    			"background": false,
    			"gradients": [],
    			"text": false
    		}
    	}
    }
    

    I feel the transposition of css into json is pretty taxing and would rather avoid inlining styles. The inability to turn off a ‘tab’ in one go (and have it stay turned off) is frustrating, as is the worry that a new addition may give existing clients design breaking layout options.

    So the questions:

    1. If a theme.json is the direction of travel, is it fit for production today?
    2. Is there an ability to opt-in to block supports – in one go – rather than opt out of each (a master switch!)?
    3. Is there an ideal path to creating a templated site, restricting further customisation, and if so is there documentation that could be considered canonical?

    I’ve come across some nuclear options for (2) in other posts (such as in
    https://www.ads-software.com/support/topic/deactivate-gutenberg-block-controls/ ) or unregistering / hiding all core blocks and registering near duplicates in the theme but I’m aiming to avoid hacky as a starting point.
    If (3) is answered with the link to https://developer.www.ads-software.com/block-editor/reference-guides/theme-json-reference/theme-json-living/ – I think the answer to (1) is emphatically ‘no’.

Viewing 2 replies - 1 through 2 (of 2 total)
  • Hi yesbut a few weeks ago i faced the same issue so i remember you that Paragraphs, headers, and photos are examples of typical editing blocks that have their own default settings and styles in WordPress.
    The initial version of this feature for global settings can be found in the theme.json file.
    Each theme has its own settings, styles, and building blocks that are used in the block editor and on the front end of the website.for example the appyn theme on my site apkrage.com has own settings and the solution of yor last problem is based on javascript so you need to just use this code
    “`function block_editor_scripts () {

    wp_enqueue_style(
    ‘remove-block-settings’,
    get_theme_file_uri( ) . ‘/assets/css/block-editor-scripts.js’,
    array( ‘wp-block-editor’ ),
    );
    }”
    thanks!

    Thread Starter yesbut

    (@yesbut)

    Thanks @btaliabano, that’s the solution @ja4st3r suggested. As I understand it means for each individual block you create a js filter & function to remove the block supports settings. It still feels like a long way round – you’d have to track what settings are used on each block, what they’re currently called ( __experimentalBorder likely won’t always be called that), and turn them off. If that is correct is it just an alternative method to the json, and neither will prevent new settings inlining styles?

Viewing 2 replies - 1 through 2 (of 2 total)
  • The topic ‘Deactivating block controls’ is closed to new replies.