Skip to content

Widgets

As of v3.0.0 the 62 per-widget convenience tools and the old universal add-widget were replaced by a catalog-backed model. Instead of one tool per widget, the 62 curated widgets’ tiers, categories, and curated params live as data in a built-in catalog (27 free / 30 Pro / 5 WooCommerce), served by five tools. This cut the per-turn widget tool-list cost ~10× (≈18–20k → ≈2k tokens) with no loss of capability: every widget and every curated parameter is still reachable, and any valid Elementor control passes straight through.

The flow is discover → inspect → act.

Returns a compact catalog index. Filter to narrow it down.

Input:

  • tier: free, pro, or woo
  • category: e.g. basic, general, media, form, woocommerce
  • search: substring match on name/title/keywords

Returns: array of { type, title, tier, category }.

Returns the curated params for a widget by default: the handful of settings you actually need, with types and defaults. Pass full: true for the raw auto-generated control schema.

Input:

  • type: a single widget type, or
  • types: an array of widget types (batch inspect)
  • full: true to return the complete control schema instead of curated params

Returns: { type, params: { ... } } (or { schema } when full: true).

Adds any free/core widget by type. Catalog defaults for that widget are merged in automatically. Always registered. (Folds in the old add-widget.)

Input: post_id, parent_id (container), widget_type, settings (optional, merged over catalog defaults), position (default -1 to append).

Returns: { element_id }.

Adds an Elementor Pro or WooCommerce widget by type. Registered only when Elementor Pro is active. WooCommerce widgets are reached here too (catalog tier woo). They add no separate tools.

Input: same shape as add-free-widget.

Returns: { element_id }.

Updates settings on an existing widget (partial-merge, same semantics as update-element).

Input: post_id, element_id, settings.

The catalog is the data behind list-widgets. You reach every entry through add-free-widget / add-pro-widget. The curated set:

Free (27): heading, text-editor, image, button, video, icon, spacer, divider, icon-box, accordion, alert, counter, google-maps, icon-list, image-box, image-carousel, progress, social-icons, star-rating, tabs, testimonial, toggle, html, menu-anchor, shortcode, rating, text-path.

Pro (30): form, posts, countdown, price-table, flip-box, animated-headline, call-to-action, slides, testimonial-carousel, price-list, gallery, share-buttons, table-of-contents, blockquote, lottie, hotspot, nav-menu, loop-grid, loop-carousel, media-carousel, nested-tabs, nested-accordion, portfolio, author-box, login, code-highlight, reviews, off-canvas, scroll-progress, search.

WooCommerce (5, requires WC + Pro): products, add-to-cart, cart, checkout, menu-cart.

The catalog is curated for ergonomics, not a hard limit: add-free-widget / add-pro-widget accept any registered widget type, including custom or third-party widgets. Use get-widget-schema with full: true to discover their controls.

list-widgets { "category": "form" } → find the "form" Pro widget
get-widget-schema { "type": "form" } → see curated params
add-pro-widget { post_id, parent_id, widget_type: "form", settings: {…} }
update-widget { post_id, element_id, settings: {…} } → tweak later