Skip to content

Kadence

New in v3.9.0. Kadence stores its customizer settings as theme_mods, structured objects that reference a 9-slot global color palette (palette1palette9). EMCP Tools exposes a curated allowlist of those settings over two dispatcher tools, so an agent can read and adjust your site’s theme design directly. Registers only when Kadence is the active theme.

For discovering and inserting Kadence’s own blocks and Design Library patterns (a separate pack, independent of the active theme), see Block builder catalogs on the Gutenberg blocks page.

Both tools take { operation, arguments }. Omit operation to get back the list of available operations for that tool.

Operation: get-settings. Reads curated Kadence settings with their value plus type/label/group/shape metadata. Colors reference the global palette slugs palette1palette9 rather than raw hex, so read global_palette first to know what those slots currently mean.

Arguments: group (optional — palette, colors, typography, layout, buttons, or header-footer) or keys (optional array of specific setting keys). Omit both to return everything on the allowlist.

Operation: update-settings. Writes settings by key as theme_mods. Any key not on the allowlist is reported back in skipped, not rejected outright. Values are structured objects, read the shape from get-settings first rather than guessing the field layout.

Arguments: values — an object of { key: value } pairs.

KeyGroupShape
global_palettepalette{ palette: [{ color, slug, name }, …9 slots], second: [...], third: [...] } — everything else references these as "palette1""palette9".
link_colorcolors{ highlight: "palette1", "highlight-alt": "palette2", "highlight-alt2": "palette9", style: "standard" }
base_fonttypography{ size:{desktop,tablet?,mobile?}, sizeType:"px", lineHeight:{desktop}, family, google:bool, weight, variant, color:"palette4" }
heading_fonttypography{ family:"inherit"|"Font Name", google:bool } — the global heading family.
h1_fonth6_fonttypographySame shape as base_font, one per heading level.
content_widthlayout{ size:1290, unit:"px" }
page_layoutlayout"normal" | "fullwidth" | "left-sidebar" | "right-sidebar"
buttons_backgroundbuttons{ color:"palette1", hover:"palette2" }
buttons_typographybuttons{ size:{desktop}, family, weight, variant }
buttons_border_radiusbuttons{ size:{desktop,tablet,mobile}, unit:{desktop:"px",...} }
header_main_backgroundheader-footer{ desktop:{ color:"palette1" } }
footer_wrap_backgroundheader-footer{ desktop:{ color:"palette9" } }

Call get-settings first, read the returned shape for a key, then send a matching object back to update-settings.

Both tools are gated on edit_theme_options. Kadence renders its dynamic CSS inline per request, so there’s no cache to invalidate after a write, the change is visible immediately.