elementor/update-page-settings updates the Elementor document-level page settings: layout, title visibility, background, custom CSS.
It merges by default; force_replace overwrites the whole settings object.
At a glance
| Ability | elementor/update-page-settings |
| Toolset | Elementor — toolset/elementor |
| Group | Elementor › Documents |
| 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 |
Document settings are not element settings
These sit above the element tree. The page layout — full width, boxed, canvas — decides whether the theme’s header and footer render at all. The title visibility decides whether the theme prints the post title above the Elementor content, which is the usual cause of a heading appearing twice.
Page-level custom CSS is scoped to this document, which makes it the right place for one-page overrides and the wrong place for anything the site needs generally — that belongs in the kit.
Merging is the default for the same reason as element settings: replacing to change one key discards the rest, and the rest includes things that are easy not to notice, like the page background.
Page settings are stored separately from the element tree, which is why they are their own ability and why copying a document without them produces a page that looks wrong for reasons nobody can find.
Idempotent.
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. |
settings | object | Yes | The page settings to merge. |
force_replace | boolean | No | Replace the whole settings object instead of merging. |
What comes back
| Name | Type | What it is |
|---|---|---|
post_id | integer | The post written. |
page_settings | object | The settings after the write. |
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:
Hide the page title on page 412.
It resolves to one call:
{
"ability": "elementor/update-page-settings",
"parameters": {
"post_id": 412,
"settings": { "hide_title": "yes" }
}
}Worth knowing
- The layout setting decides whether the theme header and footer render.
- A duplicated page heading is usually the title visibility setting.
- Page CSS is scoped to this document; site-wide CSS belongs in the kit.
- Merges by default — replacing discards the rest.
Related abilities
- Get Elementor Document Data — read the current settings
- Evaluate Elementor Render Context — what the layout produces
- Get Elementor Kit Settings — where site-wide CSS belongs
Get the plugins:
AcrossAI Abilities Manager · AcrossAI MCP Manager
Browse the rest: Every ability, by category