elementor/merge-element-settings deep-merges new settings into a single element by ID.
Only the keys you supply change. Everything else on the element is preserved.
At a glance
| Ability | elementor/merge-element-settings |
| Toolset | Elementor — toolset/elementor |
| Group | Elementor › Elements & Widgets |
| Requires | Elementor, active on the site |
| Capability | manage_options |
| Safety | Writes data |
| Repeatable | Idempotent — running it twice leaves the same result |
| Ships in | AcrossAI Abilities Manager 0.0.34 and later |
The safe way to change one thing
Elementor widgets carry a lot of settings — a container can have fifty, covering layout, spacing, background, border, responsive overrides and motion effects. Replacing the settings object to change one of them discards the other forty-nine.
That is exactly what a naive write does, and the result is an element that looks reset rather than edited.
The merge is deep, so nested settings objects are merged rather than replaced. Changing one background property does not clear the rest of the background configuration.
This is the ability to reach for when the intent is “change this one thing”. elementor/update-element replaces the element wholesale and is guarded accordingly.
Idempotent: merging the same settings twice leaves the same element.
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. |
element_id | string | Yes | The seven-character hex element ID. |
settings | object | Yes | The settings to merge in. |
What comes back
| Name | Type | What it is |
|---|---|---|
post_id | integer | The post written. |
element_id | string | The ID of the element created or affected. |
element | object | The element as stored. |
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:
Change the background colour on that container.
It resolves to one call:
{
"ability": "elementor/merge-element-settings",
"parameters": {
"post_id": 412,
"element_id": "a1b2c3d",
"settings": { "background_color": "#0f172a" }
}
}Worth knowing
- Deep merge — nested settings objects are merged, not replaced.
- Prefer this to a full element replace for any ordinary edit.
- Unrecognised keys are stored and ignored.
- Idempotent.
Related abilities
- Get Elementor Element — read the current settings
- Get Elementor Widget Controls — find the right key names
- Update Elementor Element — replace it wholesale instead
Get the plugins:
AcrossAI Abilities Manager · AcrossAI MCP Manager
Browse the rest: Every ability, by category