elementor/find-elements searches the elements in a post by element type, widget type, or text contained in the serialised settings.
Matches come back with their parent-ID paths, so a result is immediately actionable.
At a glance
| Ability | elementor/find-elements |
| Toolset | Elementor — toolset/elementor |
| Group | Elementor › Elements & Widgets |
| Requires | Elementor, active on the site |
| Capability | manage_options |
| Safety | Read-only — changes nothing |
| Repeatable | Idempotent — running it twice leaves the same result |
| Ships in | AcrossAI Abilities Manager 0.0.34 and later |
How it works
An Elementor document is a tree of elements serialised to JSON and stored in the _elementor_data post meta. Every element carries a seven-character hex ID, a type, its settings, and its children. Nothing about that structure is validated by WordPress, so a malformed write produces a document the editor refuses to open.
Which means finding anything by hand involves walking a nested JSON structure of unknown depth. On a real page that is hundreds of elements deep in places.
Three ways to search cover most needs. By element type finds every container or column. By widget type finds every button, every image, every instance of a Pro widget you are about to remove. By text finds the element containing a phrase, which is how you locate the heading somebody wants changed.
The text search runs over the serialised settings rather than the rendered output, so it matches things that never appear on the page — an image alt attribute, a link URL, a hidden field — as well as visible copy.
Every match carries its path, which is what turns a search result into something you can move, edit or delete without a second lookup.
Input
| Name | Type | Required | What it is |
|---|---|---|---|
post_id | integer | Yes | The post holding the Elementor document. |
element_type | string | No | Match elements of this type. |
widget_type | string | No | Match widgets of this type. |
text | string | No | Match text contained in the serialised settings. |
What comes back
| Name | Type | What it is |
|---|---|---|
matches | array | Each matching element with its path. |
count | integer | How many matched. |
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:
Find every button on page 412.
It resolves to one call:
{
"ability": "elementor/find-elements",
"parameters": {
"post_id": 412,
"widget_type": "button"
}
}Worth knowing
- Text search covers settings, not rendered output — alt text and URLs match too.
- Every match carries its parent path.
- The fastest way to inventory a page before changing it.
- Read-only.
Related abilities
- Get Elementor Element — read one in full
- Patch Elementor Document Data — change text across the whole document
Get the plugins:
AcrossAI Abilities Manager · AcrossAI MCP Manager
Browse the rest: Every ability, by category