# General Elements
Elementor Core AdvancedEach Elementor element, whether it's a layout element (section, column, container) or a widget element, has a set of basic information. This data is used to parse the element when creating the page.
# JSON Structure
Basic element structure:
{
"id": "12345678",
"elType": "element",
"isInner": false,
"settings": [],
"elements": []
}
2
3
4
5
6
7
# JSON Values
| Argument | Type | Description |
|---|---|---|
id | string | The unique identification key representing the element. |
elType | string | The element type. |
isInner | boolean | Whether the element is an inner element. |
settings | array/object | The element data from the panel, holding the values from the editor controls. It's an empty array if settings are not defined, or an object if the element has settings. |
elements | array | An array of objects that holds all the nested elements. |
Additional values can be introduced, based on the element type. For example, when elType is widget, an additional widgetType value is added to indicate the widget name (i.e. heading, image, button, social-icons etc.).
# Layout Elements vs. Widget Elements
The two main element types Elementor supports are - layout elements and widget elements. While layout elements (sections, columns, containers) may store data about nested elements, widget elements mainly store data about the widget settings.
# Examples
# A Page with Containers
An example of a page that has two empty containers:
{
"title": "Sample Page",
"type": "page",
"version": "0.4",
"page_settings": [],
"content": [
{
"id": "6af611eb",
"elType": "container",
"isInner": false,
"settings": [],
"elements": []
},
{
"id": "7fb170b9",
"elType": "container",
"isInner": false,
"settings": [],
"elements": []
}
]
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# A Page with Nested Container
An example of a page that has a container element with nested containers:
{
"title": "Test Page",
"type": "page",
"version": "0.4",
"page_settings": [],
"content": [
{
"id": "458aabdc",
"elType": "container",
"isInner": false,
"settings": [],
"elements": [
{
"id": "46ef0576",
"elType": "container",
"isInner": false,
"settings": [],
"elements": [
{
"id": "4a59f2e3",
"elType": "container",
"isInner": false,
"settings": [],
"elements": []
}
]
}
]
}
]
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# A Page with Widgets
An example of a page that has a container element with three nested widgets:
{
"title": "About Page",
"type": "page",
"version": "0.4",
"page_settings": [],
"content": [
{
"id": "6af611eb",
"elType": "container",
"isInner": false,
"settings": [],
"elements": [
{
"id": "6a637978",
"elType": "widget",
"widgetType": "heading",
"isInner": false,
"settings": {
"title": "Add Your Heading Text Here",
"align": "center"
},
"elements": []
},
{
"id": "687dba89",
"elType": "widget",
"widgetType": "image",
"isInner": false,
"settings": {
"_padding": {
"unit": "px",
"top": "100",
"right": "0",
"bottom": "100",
"left": "0",
"isLinked": false
}
},
"elements": []
},
{
"id": "6f58bb5",
"elType": "widget",
"widgetType": "button",
"isInner": false,
"settings": {
"text": "Click Me",
"button_text_color": "#000000",
"background_color": "#E7DFF5"
},
"elements": []
}
]
}
]
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56