Elementor 开发者文档

title: "Page Settings" post_status: publish comment_status: open taxonomy: category: - elementor-developers-docs post_tag: - Data Structure - Src - Repos


Page Settings

Data from the Page Settings panel is saved as a separate page_settings value. When the page has no settings, the value is an empty array, when the page has settings it's an object of key-value pairs containing the settings.

JSON Structure

If the page has no settings, page_settings is an empty array:

{
    "title": "Template Title",
    "type": "page",
    "version": "0.4",
    "page_settings": [],
    "content": []
}

If the page has settings, page_settings is an object of key-value pairs:

{
    "title": "Template Title",
    "type": "page",
    "version": "0.4",
    "page_settings": {
        "key": "value",
        "key": "value"
    },
    "content": []
}

Saved Data

The Page Settings panel displays several editor controls that allow the user to change WordPress-related data and Elementor-related data.

The WordPress-related data includes the page title, excerpt, feature image, post status, etc. This data is saved in the "wp_posts" table in the database.

Elementor-related data includes all the elements/widget in the page and how they are styled. This data is saved in the "wp_postmeta" table, part of the Elementor custom field.

Furthermore, different Elementor documents may have different page settings. A good example is popups, which add additional controls to the page settings screen. Addon developers may also add additional controls to the page settings panel, controls that may apply page-wide styles. The data from all those controls is stored in page_settings.

Examples

Empty Page Example

An empty page that has no settings:

{
    "title": "About Page",
    "type": "page",
    "version": "0.4",
    "page_settings": [],
    "content": []
}

Styled Page Example

A page that has some basic styling settings:

{
    "title": "Template Title",
    "type": "page",
    "version": "0.4",
    "page_settings": {
        "background_background": "classic",
        "background_color": "#FFFFFF",
        "margin": {
            "unit": "px",
            "top": "0",
            "right": "0",
            "bottom": "0",
            "left": "0",
            "isLinked": true
        },
        "padding": {
            "unit": "px",
            "top": "0",
            "right": "10",
            "bottom": "0",
            "left": "10",
            "isLinked": false
        },
        "scroll_snap": "yes"
    },
    "content": []
}