Files
advanced-mcp-plugin/skills/woodmart-mcp.md
T

4.8 KiB

name, description, version, auto-load, tags
name description version auto-load tags
woodmart-mcp Playbook for controlling the Woodmart theme through this plugin's woodmart_* and theme_* tools — theme options, HTML blocks, layouts, widgets, and the backup/restore safety rule. Read before changing any Woodmart theme setting. 1.0.0 false
woodmart
theme
woocommerce
options
html-blocks

Woodmart MCP — Theme Control Playbook

When to use this skill

Load before touching anything Woodmart-specific: theme options (colors, header, shop layout), HTML blocks, mega menus, or Woodmart's own page-builder elements. For Elementor structure see wordpress-elementor; for store data see woocommerce.


Step 0 — confirm Woodmart is active

Always start with woodmart_detect. It returns {active, name, version, option_store}. On this site that is Woodmart 8.4.1, option store xts-woodmart-options. If active is false, stop — none of the woodmart_* tools will do anything useful and you may be on the wrong site. (Site targeting: resolve the request against the site registry id and use only that entry's access method.)


Theme options — the single source of truth

Woodmart stores its configuration in one serialized option, xts-woodmart-options. Read before you write.

  • woodmart_list_options — enumerate available option keys.
  • woodmart_get_option(key) — read one value.
  • woodmart_set_option(key, value) — write one value.
  • woodmart_restore_option(key) — roll back to the pre-change backup.

The safety rule: woodmart_set_option snapshots the previous value into the amp_wd_backup store before writing. Every change is therefore reversible with woodmart_restore_option. Still: change one key at a time, verify on the live page, then move on. Never batch-blind a dozen theme options — a wrong serialized value can affect the whole site chrome.

Common option domains: global colors/typography, header layout and sticky behavior, shop/catalog layout (columns, filters, quick-view), single-product layout, footer, and performance toggles. Confirm the exact key with woodmart_list_options rather than assuming the slug.


HTML blocks — Woodmart's reusable content units

Woodmart HTML blocks are a custom post type used for headers, footers, mega-menu panels, popups, and injected sections.

  • woodmart_list_html_blocks — list existing blocks with their ids.
  • woodmart_get_block(id) — read a block's content.
  • woodmart_create_html_block(...) — create a new block.

Use blocks for content that must appear in several places (a promo bar, a footer column, a mega-menu panel) — edit once, it updates everywhere it's referenced. Don't rebuild the same markup inline across pages.


Layouts and widgets

  • woodmart_list_layouts — Woodmart layout definitions (header/footer/shop layouts registered by the theme).
  • woodmart_list_widgets — Woodmart's own widgets/elements (the theme registers ~150, including Elementor widgets). Use this to see what Woodmart gives you before pulling in a third-party addon.
  • Theme-capability probes (useful for planning): theme_woodmart_elements, theme_elementor_support, theme_elementor_tokens, theme_page_templates, theme_widget_areas, theme_taxonomies, theme_custom_post_types.

Woodmart + WooCommerce

Woodmart is a shop theme — most of its options shape the WooCommerce experience (product grid, cart, checkout, wishlist, compare, quick view). When a store task is really a presentation task (how products look, shop columns, catalog filters), it's a Woodmart option, not a WooCommerce setting. Rule of thumb: what the shop sells and how it transacts = wc_*; how the shop looks = woodmart_*. See the woocommerce skill for the data side.


Safe-change workflow

  1. woodmart_detect — confirm active + version.
  2. woodmart_list_options / woodmart_get_option — read current state.
  3. woodmart_set_option — change ONE key (auto-backs-up).
  4. cache_purge_all — Woodmart and the cache layer both cache theme output; purge or you'll see the old chrome.
  5. Verify on the live URL.
  6. Wrong? woodmart_restore_option(key) and purge again.

Gotchas

  • Change didn't show → theme/cache layer served the old version. cache_detect then cache_purge_all. Woodmart also has its own CSS cache; a theme-option save usually regenerates it, but purge to be sure.
  • Guessed an option key → woodmart_set_option on a wrong key is a no-op or worse. Always list first.
  • Batch theme edits → one bad serialized value breaks site chrome globally. One key at a time, verify between.
  • Edited shop layout via WooCommerce settings → wrong layer. Catalog/product presentation is Woodmart options.
  • HTML block edited but not showing → confirm the block is actually referenced by the header/footer/menu location; creating a block doesn't place it.