GoBuildWP

Themes · 9 modules

WordPress Theme MCP that respects the theme's override chain.

A WordPress theme MCP is mostly about the override chain: a global default, a template rule, a display condition, then a per-page override. These integrations read that chain before they change a setting, so the change shows up where it was meant to.

What goes wrong without a plugin-aware module

  1. Global settings changed while page-level overrides remain active
  2. Headers, hooks, and templates updated without condition review
  3. Palette or typography changes checked on only one route

Why it matters

What plugin-aware changes for themes

Theme frameworks resolve a setting through a chain: a global default, a template rule, a conditional display rule, then a per-page override. Changing the global is the easy part; knowing which pages were already overriding it is the part that decides whether anyone notices the change at all.

A first safe workflow

Change one global, on staging, and then go looking for the pages that ignored it. That exercise maps the override chain faster than reading the theme's documentation, and it is the knowledge that makes later changes far easier to predict. Keep header and footer display conditions in scope: they are the settings most likely to make a correct change look like a broken one.

How to tell it worked

Check a page that inherits the global, a page that overrides it, and one archive or template-driven route. Header and footer conditions deserve their own pass, since they are usually where a display rule quietly excludes the page you were testing on.

Modules

9 modules compared

Each module loads only when its plugin is active. The Edition column shows how much of each one GoBuildWP Free covers; the rest needs Pro. Open a module for its full ability list, requirements and safety notes.

Themes modules, editions and ability counts
ModuleEditionAbilitiesInspect / change / destructiveCovers
AstraPro3416 / 0 / 18Customizer settings, modules, color palettes, typography
AvadaPro1611 / 4 / 1theme options, global colors, global typography, sliders
GeneratePressPro2314 / 0 / 9theme settings, modules, Elements, Element conditions
KadencePro54 / 1 / 0setup check, theme settings, Theme JSON, Customizer settings
OceanWPPro157 / 8 / 0theme settings, modules, Customizer panels, header configuration
WordPress Block ThemesFree 11 + Pro 4158 / 6 / 1active-theme and setup checks, registered setting discovery, block template inventory, template source detection
BlocksyPro43 / 1 / 0Blocksy setup detection, registered Customizer schema, theme modification reads, validated registered-setting updates
NevePro43 / 1 / 0Neve setup detection, registered Customizer schema, theme modification reads, validated registered-setting updates
WoodMartPro43 / 1 / 0WoodMart setup detection, registered Customizer schema, theme modification reads, validated registered-setting updates

Worked example

Show an existing GeneratePress hook element, a promotion bar, on the blog archive only.

GeneratePress Premium's Elements, because display rules are where theme work most often goes wrong without anyone seeing an error.

  1. wppilot/generatepress-list-elementsPro

    Lists the site's Elements with their type, hook, priority and how many display, exclude and user conditions each already carries.

  2. wppilot/generatepress-get-elementPro

    Reads the promotion bar's hook and its current conditions. The meta that lets an element execute PHP is deliberately never returned.

  3. wppilot/generatepress-list-element-conditionsPro

    Returns the rule catalogue GeneratePress's own admin screen uses, so the agent picks a rule that exists.

  4. wppilot/generatepress-set-element-conditionsPro

    Writes the display condition for the blog archive and leaves the other buckets as they were. A misspelt rule is stored as-is and silently never matches, which is why the catalogue call comes first.

What to check yourself. Visit the blog archive, one single post and one ordinary page. The bar should appear on the first and on neither of the others; if it shows everywhere or nowhere, compare the stored rule with the catalogue entry rather than trying another write.

How deep each theme module goes

Dedicated theme modules and the theme bridge are not the same depth

The module table lists nine themes, but they fall into two groups, and which group your theme is in decides what you can ask for. Astra, GeneratePress, OceanWP, Avada and Kadence have modules written for their own storage, with abilities named after the theme. Blocksy, Neve, WoodMart and block themes in general go through one shared bridge with three abilities: theme-bridge-check-setup, theme-bridge-list-customizer-settings and theme-bridge-update-customizer-settings, plus theme-bridge-list-block-assets on a block theme.

The bridge only writes settings the theme still registers with the WordPress Customizer, through each setting's own validator. It never guesses an option name and never writes a theme's private panel. That keeps each write inside the theme's own validation, though a valid value can still look wrong on a page that overrides it, and it also means anything the theme keeps outside the Customizer is reported as unavailable rather than changed.

  • Astra: settings, palette, typography, header and footer builder rows, page-level settings, modules, Advanced Hooks and page headers with the Pro addon.
  • GeneratePress: settings, GP Premium Elements with their display conditions, the font library, modules and Site Library imports.
  • OceanWP: Customizer panels, typography, header configuration, per-page overrides, modules and Ocean Extra library templates.
  • Avada: a curated set of global options, the global palette and type sets, and Fusion Slider slides and settings.
  • Kadence: settings in whichever storage the site uses and a read of the resolved theme.json. It has no palette writer, and its header, navigation and form builders are edited as ordinary posts.
  • Blocksy, Neve and WoodMart: registered Customizer settings only. Blocksy Content Blocks, Neve Custom Layouts, and WoodMart's Theme Settings, Header Builder and Layouts are outside it.
  • Block themes: an inventory of templates and parts through the bridge (Pro). Separately, from GoBuildWP Free 1.18.0, update-template, revert-template and update-global-styles edit templates, template parts and Global Styles directly, the way the site editor saves them, with undo from the change log.

Choosing a theme for a site an agent will maintain

If the theme is not settled yet and you expect an agent to handle site-wide design changes, the dedicated modules give it more to work with. A header rebuilt from a prompt, a hook element shown only on archives, or a typography change applied across devices all have abilities of their own on Astra, GeneratePress or OceanWP. On WoodMart the same requests mostly end in a list of surfaces the bridge cannot reach, and a person finishes them in WoodMart's own panel.

That is not a reason to switch an existing site. A WoodMart or Neve store with a settled header gains little from a theme change and risks a lot. Use the bridge for what it covers, keep the agent on page bodies through the page's own builder, and leave vendor builders to a person.

The child-theme trap and other places settings seem to vanish

Customizer values are stored per stylesheet, so activating a child theme makes a configured site look reset, and switching back makes the agent's last changes look lost. Blocksy documents this and offers a copy tool in its companion plugin. Before any theme change, run the theme's setup check and note whether a child theme is active.

Kadence adds a second trap: by default each setting is a theme mod, but a site can move them all into one named option with a filter. The setup check reports which applies and the writer follows it, so do not compare values by reading theme mods by hand. Avada has no options row at all until wp-admin has loaded once after install.

Undo works on the whole settings row

Most theme writes are restored by putting back the entire settings row as it was before the call: the astra-settings option, Avada's options array, GeneratePress settings, OceanWP's theme mods row or the bridge's row for the active stylesheet. That puts the row back exactly, but it is not selective. Rolling back one call reverts everything that call wrote, and rolling back an older call with rollback-change after newer ones were made overwrites those newer changes too. Undo newest first, or use undo-session, which refuses the whole run when a target changed after the session.

Some theme data never goes back. Fonts added or removed through GeneratePress are files, Avada slider settings live in term meta, a hard-deleted hook or element is gone, and a GeneratePress Site Library import changes settings and content together. generatepress-restore-site replays GP Premium's own backup instead, and restoring content uses that backup up, so it works once.

What a theme module will never touch

Every module draws the same line around code. The options that let Astra Advanced Hooks or GeneratePress hook elements execute PHP are never read or written, and settings that look like custom CSS, scripts, tracking, licence keys or credentials are redacted and refused. Avada rejects any value containing angle brackets because it would reach the theme's generated CSS. If a design change genuinely needs code, that is a separate, deliberate step with a person reviewing it.

Asking for a theme change: a prompt that sets the agent up

“Run the setup check for the active theme and tell me whether a child theme is active, which module or bridge answers for it, and which parts of the header, footer and colours are outside its reach. Then read the current palette and body typography, propose the change I describe, and list every key you would write before writing any.” Review the proposal on a staging copy, and compare the page you edit with a page that sets its own overrides. On block themes, adopt-design-from-site reads global styles as a starting point.

FAQ

Themes and AI, answered

Will a global style change override my page-level settings?

No. A page-level override still wins, which is exactly why a global change can appear to do nothing. Check both an inheriting page and an overriding page before deciding whether the change worked.

Can an agent edit headers, footers and display conditions?

Where the theme framework exposes them, yes. Display conditions deserve a careful read first: they decide which pages a header applies to, and a rule that excludes the page you are testing on makes a correct change look broken.

Is it safe to change the palette or typography this way?

It is one of the lower-risk changes available, but it is site-wide by definition. Review at least one landing page, one archive and one post, because a palette that reads well on a hero can fail contrast in body copy.

Start in Read Only, then add what the site runs

Connect your AI client to the free MCP foundation and check what it can see. The free plugin already covers the basics for WordPress Block Themes; add Pro when a job needs more.