elementor/reorder-elements reorders the direct children of a parent, or the root children when no parent is given.
Children you do not list keep their prior relative order and are appended after the ones you do.
At a glance
| Ability | elementor/reorder-elements |
| Toolset | Elementor — toolset/elementor |
| Group | Elementor › Elements & Widgets |
| Requires | Elementor, active on the site |
| Capability | manage_options |
| Safety | Writes data |
| Repeatable | Not idempotent — each call changes the row set, so re-running is not a no-op |
| Ships in | AcrossAI Abilities Manager 0.0.34 and later |
Partial orders are allowed
Requiring the complete list would mean reading every child, reordering the two that matter, and sending all of them back — and any child added between the read and the write would be lost.
So an incomplete list is a valid instruction: “these first, in this order, then everything else as it was”. Moving one section to the top is a list of one.
That also makes the operation safe against concurrent edits in a way a full-list rewrite is not.
Only direct children are reordered. Nothing nested deeper moves, and an ID that is not a child of the named parent is refused rather than silently ignored.
Not idempotent in the general case, though re-sending the same complete order is stable.
Elementor generates a CSS file per post and caches it. A change to the document does not change the rendered page until that CSS is regenerated, which is why elementor/clear-cache is the second half of several operations here.
Input
| Name | Type | Required | What it is |
|---|---|---|---|
post_id | integer | Yes | The post holding the Elementor document. |
parent_id | string | null | No | Whose children to reorder. Null for the root. |
ordered_element_ids | array | Yes | The child IDs in the order you want them. Unlisted children follow, in their prior order. |
What comes back
| Name | Type | What it is |
|---|---|---|
post_id | integer | The post written. |
order | array | The resulting child order. |
success | boolean | Whether the call completed. |
message | string | A one-line summary of what happened, suitable for showing a human. |
error_code | string | Present 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:
Move the testimonials section to the top of the page.
It resolves to one call:
{
"ability": "elementor/reorder-elements",
"parameters": {
"post_id": 412,
"ordered_element_ids": ["e4f5g6h"]
}
}Worth knowing
- A partial list is a valid instruction, and the safer one.
- Only direct children move.
- An ID that is not a child of the parent is refused.
- Clear the Elementor cache afterwards.
Related abilities
- Move Elementor Element — move between parents instead
- Get Elementor Element — read the current children
Get the plugins:
AcrossAI Abilities Manager · AcrossAI MCP Manager
Browse the rest: Every ability, by category