settings_schema.json

The settings_schema.json file controls the organization and content of the Theme settings area of the theme editor. All setting selections in the theme editor are saved in settings_data.json.

Location

The settings_schema.json file is located in the config directory of the theme:

Schema

The settings_schema.json file is an array of objects that represent setting categories. Each object needs to have the following attributes:

Attribute Description Required
name The name of the category of settings. Yes
settings An array of associated settings. Yes

The settings_schema.json file should follow the following basic format:

The settings_schema.json file is a JSON file, so all content must be valid JSON. Additionally, make sure you follow the appropriate syntax for your desired setting.

Usage

When working with the settings_schema.json file, familiarize yourself with the following:

Setting types

There are two categories of settings:

Category Description
Input settings Settings that can hold a value, and are configurable by merchants.
Sidebar settings Settings that can’t hold a value, and aren’t configurable by merchants. They’re informational elements that can be used to provide detail and clarity for your input settings.

Access settings

Theme settings can be accessed through the settings object. To learn more about the syntax and considerations, refer to Access settings.

Add theme metadata

As a theme author, you can include additional metadata for your theme in the Theme actions menu of the theme editor. This menu appears at the left of the theme editor top bar:

To add this metadata, you can include a theme_info object in the settings_schema.json file. This object must include the following attributes:

Attribute Description Required
name The value of this attribute must be theme_info. Yes
theme_name The name of the theme. Yes
theme_author The author of the theme. Yes
theme_version The version number of the theme. Yes
theme_documentation_url A URL where merchants can find documentation for the theme. Yes
theme_support_email An email address that merchants can contact for support for the theme. See note
theme_support_url A URL where merchants can find support for the theme. See note

For example:

On this page