30 days free. No credit card. Full access from the moment you connect your site.

Start free trial

Add Elementor Post Tabs

elementor/add-post-tabs inserts a Nested Tabs widget where each tab contains a native Posts widget, filtered by a taxonomy term or a custom query.

It builds a composite that is tedious to assemble by hand.

At a glance

Abilityelementor/add-post-tabs
ToolsetElementor — toolset/elementor
GroupElementor › Elements & Widgets
RequiresElementor, active on the site
Capabilitymanage_options
SafetyWrites data
RepeatableNot idempotent — each call changes the row set, so re-running is not a no-op
Ships inAcrossAI Abilities Manager 0.0.34 and later

Why this is one ability rather than several

Assembling this manually means creating a Nested Tabs widget, then a container per tab, then a Posts widget inside each, then configuring each widget’s query. For four tabs that is thirteen elements and four query configurations, each with its own control keys.

The structure is also particular: Nested Tabs expects its children in a specific shape, and getting that wrong produces tabs that render empty.

So the composite is built as one operation, correctly, from a list of tabs.

Everything it produces is native Elementor — Nested Tabs and Posts are both standard widgets, and the result is fully editable in the editor afterwards. Nothing here is a custom element that only this ability understands.

Nested Tabs requires the corresponding Elementor experiment to be active on sites where it is still gated. elementor/list-experiments reports that.

Not idempotent.

Input

NameTypeRequiredWhat it is
post_idintegerYesThe post holding the Elementor document.
tabsarrayYesOne entry per tab: its label, and either a taxonomy term or a custom query.
parent_idstring | nullNoThe element to insert into. Null or omitted inserts at the document root.
positionintegerNoIndex among the parent’s children. Omitted appends at the end.

What comes back

NameTypeWhat it is
post_idintegerThe post written.
element_idstringThe ID of the element created or affected.
elementobjectThe element as stored.
successbooleanWhether the call completed.
messagestringA one-line summary of what happened, suitable for showing a human.
error_codestringPresent only on failure — a stable machine-readable reason, such as a missing field, a wrong field type or an unmet confirmation.

Example

Ask your assistant:

Add tabs for our three post categories, each showing its latest posts.

It resolves to one call:

{
  "ability": "elementor/add-post-tabs",
  "parameters": {
    "post_id": 412,
    "tabs": [
      { "label": "Guides", "term_id": 87 },
      { "label": "News", "term_id": 88 }
    ]
  }
}

Worth knowing

  • Produces native widgets, fully editable in the editor afterwards.
  • Nested Tabs may be gated behind an experiment on some installs.
  • Four tabs is thirteen elements to build by hand.
  • Not idempotent.

Related abilities


Get the plugins:
AcrossAI Abilities Manager · AcrossAI MCP Manager

Browse the rest: Every ability, by category


Keep reading