WordPress uses a three-level system to determine which settings appear in the block editor sidebar for your block theme. Understanding this hierarchy is crucial for customizing the editing experience.
Level one starts with each block’s block.json file, where blocks declare what settings they support. Level two is WordPress Core’s own theme.json file (located in wp-includes) that provides default settings, color palettes, and global configurations.
Level three is your theme’s theme.json file, which overwrites both core settings and block declarations. This is where you take control – you can disable text color controls, customize palettes, or remove features entirely.
This layered approach gives you complete control while maintaining WordPress standards. Your theme.json settings always win, allowing you to create the exact editing experience you want for your block theme users.