Pro module5 abilities

Kadence ability reference

Reference for the GoBuildWP Pro 1.12.4 source. Installed schemas and policy remain authoritative.

The Kadence module lets an agent read and patch the Kadence theme's settings, the values behind its header, footer, typography, colours and layouts, and read the theme.json tokens the block editor offers. This Kadence ability reference covers the Kadence theme; blocks and Design Library patterns belong to the Kadence Blocks and Kadence patterns modules.

Read-only, write and destructive groups describe the source annotations. They do not establish a minimum safety profile, human approval or undo support. Those controls are separate: check the installed ability, the connected user and the active site policy before calling it. A read can still return sensitive data. These pages are not evidence that every operation passed an end-to-end runtime test.

What Kadence needs before these load

The Kadence theme must be active at version 1.2.0 or newer, the release line whose option API the module reads. The gate looks for KADENCE_VERSION, the Kadence\Theme class and the theme's kadence() template-tag function, and without them the module does not load. If the theme is switched away during a request, the settings calls answer kadence_theme_inactive. Every call needs manage_options. Pro also ships a kadence-build-page skill for composing pages on the theme.

Minimum (theme)
1.2.0 WPPILOT_PRO_KADENCE_THEME_MIN_VERSION
Kadence editions
free, pro
Agent skills shipped
kadence-build-page

Where Kadence keeps its settings

By default Kadence stores settings as theme mods, in the theme_mods_<stylesheet> row. A site can move them into a single option with the kadence_theme_option_type filter, named by kadence_theme_option_name. kadence-check-setup reports which storage is in use and the option name, along with the active palette and whether the kadence_header, kadence_navigation and kadence_form post types exist. kadence-edit-settings writes to whichever store is configured, and the change ledger snapshots that same row, so wppilot/rollback-change restores it.

Finding a key among roughly a thousand

kadence-list-customizer-settings with no input returns an overview of areas; call it again with an area such as header or typography to get that area's keys, and add with_defaults when composing a write. Kadence registers product and lms keys whether or not WooCommerce or LearnDash is installed, so a count there proves nothing about those plugins. kadence-get-settings reads values through Kadence's own option() lookup, which applies the theme's fallback to defaults, so the result is what the page renders.

What a patch does with bad input

A key missing from Kadence's defaults is not written and comes back in unknown_keys, usually a typo. A value whose type differs from the default's is still written with a type_mismatch warning; a value that cannot be stored safely, such as a PHP object, is refused as non_persistable_type. The batch is applied in one pass under a lock, and Kadence's cached options are cleared so a read straight afterwards returns the new values.

Before accepting the result

Read kadence-get-settings before changing palette-related settings. The palette reader is not a dedicated palette writer. Check reported key types, reread the patch and inspect desktop and mobile output.

Safety profiles and human confirmation

Example Kadence input: wppilot/kadence-get-settings

This one operation declares the 1 top-level input parameters below in wppilot-pro/includes/wppilot-abilities/wppilot-kadence/wppilot-get-settings.php; keys is required. Other calls in this module take different arguments. Nested schemas and constraints are not expanded here; the complete live schema a connected client discovers is authoritative.

ParameterType and meaning
keysrequiredarray. List of setting keys to read. Use kadence-list-customizer-settings (with `area` + `with_defaults=true`) to discover keys ahead of time. Pass 1 to ~50 keys per call; very large requests waste tokens - narrow to what you actually need.

Representative call sequence

This sequence describes the documented calls and checks to perform. It is not a recorded result from an installed WordPress site. Inspect returned errors and partial results, then verify the saved values and affected output before proceeding.

Set the header background to a colour from the site palette.

  1. 01 wppilot/kadence-check-setup Confirms the theme meets the floor and returns the storage type and the active palette's colours.
  2. 02 wppilot/kadence-list-customizer-settings Called with area set to header, listing the header keys to choose from.
  3. 03 wppilot/kadence-get-settings Reads the chosen key's current value so the new one follows the same shape.
  4. 04 wppilot/kadence-edit-settings Writes the key and returns it under updated, with any unknown_keys or warnings.

Questions about Kadence

kadence-edit-settings returned success but listed my key in unknown_keys. Was it saved?

No. Keys outside Kadence's defaults map are skipped while the rest of the patch is saved. Look the key up with kadence-list-customizer-settings and send it again.

Can the agent edit Kadence's Header Builder or forms posts?

No ability in this module edits them. kadence-check-setup reports whether those post types exist; header options that Kadence exposes as theme settings are edited as keys.

Kadence reads

AbilityWhat it does
wppilot/kadence-check-setupCheck Kadence SetupDiagnostic snapshot of the Kadence theme install: theme active flag + version + minimum supported, the storage type and option name Kadence is using (theme_mod vs option), the activation flag for the Kadence-introduced CPTs the integration touches (kadence_header, kadence_navigation, kadence_form), and the active palette (its identifier and colour list). Call once at the start of any session that will read or write Kadence theme settings, build a header/footer, or assemble an Advanced Form. Does NOT echo the full settings; call kadence-get-settings / kadence-list-customizer-settings for those.
wppilot/kadence-get-settingsGet Kadence SettingsReads the current values (defaults merged with any user overrides) for an explicit list of Kadence theme setting keys. Resolves through Kadence's Options Component so the response reflects whatever the user has changed in the Customizer - not just the bare theme_mods. Keys that do not exist on this install (typos, plugin-gated settings) are listed under unknown_keys for surfacing rather than silently dropped. Discover available keys via kadence-list-customizer-settings; settings are also returned with their inferred type so the agent can compose a sound kadence-edit-settings payload without a separate type lookup.
wppilot/kadence-get-theme-jsonGet Kadence theme.jsonReturns the resolved WP theme.json view of the Kadence theme - the contract the block editor reads to populate its color, typography, spacing, layout, and shadow controls. Unlike kadence-get-settings (which surfaces Kadence-specific Customizer keys), this ability surfaces the WP-native global styles + settings tree that core Gutenberg and any block-aware integration consume. Three slices are returned: settings (the per-feature configuration: appearanceTools, color palette, typography, spacing, layout, shadow), styles (the resolved styles: per-block, per-element, root spacing), and presets (a flat catalogue of the named color / gradient / font-size / spacing presets the agent can reference via slug). Read-only - does not write theme.json. To override theme.json values at the user-style layer, use the wp_update_post path on the active wp_global_styles post (out of scope for this ability).
wppilot/kadence-list-customizer-settingsList Kadence Customizer SettingsEnumerates the Kadence theme settings as a grouped catalogue. Kadence exposes ~1000 individual setting keys (typography, colors, layout, header, footer, page-title, archive, product, mobile menu, etc.); returning every key with its default would overflow most contexts. This ability returns a compact areas[] overview by default - {name, count} per area - and lets the agent drill down by passing area=<name> to get the keys for that area only, optionally with their inferred type and default value via with_defaults=true. The list-only response is safe to call any time; pass area only when you actually need that area's keys.

Kadence writes

AbilityWhat it does
wppilot/kadence-edit-settingsEdit Kadence SettingsPatches Kadence theme setting values. Partial / merge update - only the keys passed in settings are changed; every other setting keeps its current value. Each pair writes through the storage strategy Kadence is configured for (theme_mod or option - see kadence-check-setup.storage.type). Unknown keys (not in Kadence's defaults map on this install) are NOT written and surface under unknown_keys in the response. Type mismatches between the input value and the registered default (e.g. passing a string where the default is an array) are surfaced under warnings[] and the write still happens - Kadence accepts both shapes for some keys, so the warning is informational. Reads after this call return the new values immediately.

For the task-level view of Kadence, with worked requests and what to check afterwards, see Kadence integration page.