Created
April 12, 2016 18:34
-
-
Save friartuck6000/32b0a1e531628a989627651e48acba2a to your computer and use it in GitHub Desktop.
JSON schema for Advanced Custom Fields (ACF) field groups
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"$schema": "http://json-schema.org/schema#", | |
"id": "http://advancedcustomfields.com/json-schema/field_group", | |
"type": "object", | |
"definitions": { | |
"empty": { | |
"type": "string", | |
"maxLength": 0 | |
}, | |
"intOrEmpty": { | |
"oneOf": [ | |
{ | |
"$ref": "#/definitions/empty" | |
}, | |
{ | |
"type": "integer" | |
} | |
] | |
}, | |
"stringArrayOrEmpty": { | |
"oneOf": [ | |
{ | |
"$ref": "#/definitions/empty" | |
}, | |
{ | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
} | |
] | |
}, | |
"intBool": { | |
"type": "integer", | |
"enum": [0, 1] | |
}, | |
"slug": { | |
"type": "string", | |
"pattern": "^[a-z0-9\\-_]*$" | |
}, | |
"equality": { | |
"type": "string", | |
"enum": ["==", "!="] | |
}, | |
"field": { | |
"type": "object", | |
"properties": { | |
"key": { | |
"$ref": "#/definitions/slug" | |
}, | |
"label": { | |
"type": "string" | |
}, | |
"name": { | |
"$ref": "#/definitions/slug" | |
}, | |
"type": { | |
"type": "string", | |
"enum": [ | |
"text", | |
"textarea", | |
"number", | |
"email", | |
"url", | |
"password", | |
"wysiwyg", | |
"oembed", | |
"image", | |
"file", | |
"gallery", | |
"select", | |
"checkbox", | |
"radio", | |
"true_false", | |
"post_object", | |
"page_link", | |
"relationship", | |
"taxonomy", | |
"user", | |
"google_map", | |
"date_picker", | |
"color_picker", | |
"message", | |
"tab", | |
"repeater", | |
"flexible_content" | |
] | |
}, | |
"instructions": { | |
"type": "string" | |
}, | |
"required": { | |
"$ref": "#/definitions/intBool" | |
}, | |
"conditional_logic": { | |
"oneOf": [ | |
{ | |
"type": "integer", | |
"enum": [0] | |
}, | |
{ | |
"type": "array", | |
"items": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"field": { | |
"$ref": "#/definitions/slug" | |
}, | |
"operator": { | |
"$ref": "#/definitions/equality" | |
}, | |
"value": { | |
"type": "string" | |
} | |
}, | |
"required": ["field", "operator", "value"] | |
} | |
} | |
} | |
] | |
}, | |
"wrapper": { | |
"type": "object", | |
"properties": { | |
"width": { | |
"$ref": "#/definitions/intOrEmpty" | |
}, | |
"class": { | |
"type": "string" | |
}, | |
"id": { | |
"type": "string" | |
} | |
} | |
}, | |
"default_value": { | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"type": "integer" | |
}, | |
{ | |
"type": "array", | |
"items": { | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"type": "integer" | |
} | |
] | |
} | |
} | |
] | |
}, | |
"placeholder": { | |
"type": "string" | |
}, | |
"prepend": { | |
"type": "string" | |
}, | |
"append": { | |
"type": "string" | |
}, | |
"maxlength": { | |
"$ref": "#/definitions/intOrEmpty" | |
}, | |
"readonly": { | |
"$ref": "#/definitions/intBool" | |
}, | |
"disabled": { | |
"$ref": "#/definitions/intBool" | |
}, | |
"rows": { | |
"$ref": "#/definitions/intOrEmpty" | |
}, | |
"new_lines": { | |
"type": "string", | |
"enum": ["", "br", "wpautop"] | |
}, | |
"min": { | |
"$ref": "#/definitions/intOrEmpty" | |
}, | |
"max": { | |
"$ref": "#/definitions/intOrEmpty" | |
}, | |
"step": { | |
"$ref": "#/definitions/intOrEmpty" | |
}, | |
"tabs": { | |
"type": "string", | |
"enum": ["all", "visual", "text"] | |
}, | |
"toolbar": { | |
"type": "string", | |
"enum": ["full", "basic"] | |
}, | |
"media_upload": { | |
"$ref": "#/definitions/intBool" | |
}, | |
"width": { | |
"$ref": "#/definitions/intOrEmpty" | |
}, | |
"height": { | |
"$ref": "#/definitions/intOrEmpty" | |
}, | |
"return_format": { | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"type": "string", | |
"enum": [ | |
"object", | |
"array", | |
"url", | |
"id" | |
] | |
} | |
] | |
}, | |
"preview_size": { | |
"type": "string" | |
}, | |
"library": { | |
"type": "string", | |
"enum": ["all", "uploadedTo"] | |
}, | |
"min_width": { | |
"oneOf": [ | |
{ "type": "string" }, | |
{ "type": "integer" } | |
] | |
}, | |
"min_height": { | |
"oneOf": [ | |
{ "type": "string" }, | |
{ "type": "integer" } | |
] | |
}, | |
"min_size": { | |
"oneOf": [ | |
{ "type": "string" }, | |
{ "type": "integer" } | |
] | |
}, | |
"max_width": { | |
"oneOf": [ | |
{ "type": "string" }, | |
{ "type": "integer" } | |
] | |
}, | |
"max_height": { | |
"oneOf": [ | |
{ "type": "string" }, | |
{ "type": "integer" } | |
] | |
}, | |
"max_size": { | |
"oneOf": [ | |
{ "type": "string" }, | |
{ "type": "integer" } | |
] | |
}, | |
"mime_types": { | |
"type": "string" | |
}, | |
"choices": { | |
"type": "object", | |
"additionalProperties": { | |
"type": "string" | |
} | |
}, | |
"allow_null": { | |
"$ref": "#/definitions/intBool" | |
}, | |
"multiple": { | |
"$ref": "#/definitions/intBool" | |
}, | |
"ui": { | |
"$ref": "#/definitions/intBool" | |
}, | |
"ajax": { | |
"$ref": "#/definitions/intBool" | |
}, | |
"other_choice": { | |
"$ref": "#/definitions/intBool" | |
}, | |
"save_other_choice": { | |
"$ref": "#/definitions/intBool" | |
}, | |
"layout": { | |
"type": "string", | |
"enum": [ | |
"vertical", | |
"horizontal", | |
"table", | |
"block", | |
"row" | |
] | |
}, | |
"toggle": { | |
"$ref": "#/definitions/intBool" | |
}, | |
"message": { | |
"type": "string" | |
}, | |
"post_type": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"taxonomy": { | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"type": "array", | |
"items": { | |
"type": "string", | |
"pattern": "^[a-z0-9\\-_]+:[a-z0-9\\-_]+$" | |
} | |
} | |
] | |
}, | |
"filters": { | |
"type": "array", | |
"items": { | |
"type": "string", | |
"enum": ["search", "post_type", "taxonomy"] | |
} | |
}, | |
"elements": { | |
"$ref": "#/definitions/stringArrayOrEmpty" | |
}, | |
"field_type": { | |
"type": "string", | |
"enum": ["checkbox", "multi_select", "radio", "select"] | |
}, | |
"add_term": { | |
"$ref": "#/definitions/intBool" | |
}, | |
"save_terms": { | |
"$ref": "#/definitions/intBool" | |
}, | |
"load_terms": { | |
"$ref": "#/definitions/intBool" | |
}, | |
"role": { | |
"$ref": "#/definitions/stringArrayOrEmpty" | |
}, | |
"center_lat": { | |
"oneOf": [ | |
{ "type": "integer" }, | |
{ "type": "string" } | |
] | |
}, | |
"center_lng": { | |
"oneOf": [ | |
{ "type": "integer" }, | |
{ "type": "string" } | |
] | |
}, | |
"zoom": { | |
"oneOf": [ | |
{ "type": "integer" }, | |
{ "type": "string" } | |
] | |
}, | |
"display_format": { | |
"type": "string" | |
}, | |
"first_day": { | |
"type": "integer", | |
"minimum": 0, | |
"maximum": 6 | |
}, | |
"esc_html": { | |
"$ref": "#/definitions/intBool" | |
}, | |
"placement": { | |
"type": "string", | |
"enum": ["top", "left"] | |
}, | |
"endpoint": { | |
"$ref": "#/definitions/intBool" | |
}, | |
"collapsed": { | |
"$ref": "#/definitions/slug" | |
}, | |
"button_label": { | |
"type": "string" | |
}, | |
"sub_fields": { | |
"type": "array", | |
"items": { | |
"$ref": "#/definitions/field" | |
} | |
}, | |
"layouts": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"key": { | |
"$ref": "#/definitions/slug" | |
}, | |
"label": { | |
"type": "string" | |
}, | |
"name": { | |
"$ref": "#/definitions/slug" | |
}, | |
"display": { | |
"type": "string", | |
"enum": ["table", "block", "row"] | |
}, | |
"sub_fields": { | |
"type": "array", | |
"items": { | |
"$ref": "#/definitions/field" | |
} | |
}, | |
"min": { | |
"$ref": "#/definitions/intOrEmpty" | |
}, | |
"max": { | |
"$ref": "#/definitions/intOrEmpty" | |
} | |
}, | |
"required": ["key", "name", "label"] | |
} | |
} | |
}, | |
"required": ["key", "label", "name", "type"] | |
} | |
}, | |
"properties": { | |
"key": { | |
"$ref": "#/definitions/slug" | |
}, | |
"title": { | |
"type": "string" | |
}, | |
"fields": { | |
"type": "array", | |
"items": { | |
"$ref": "#/definitions/field" | |
} | |
}, | |
"location": { | |
"type": "array", | |
"items": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"param": { | |
"type": "string", | |
"enum": [ | |
"post_type", | |
"post_status", | |
"post_format", | |
"post_category", | |
"post_taxonomy", | |
"post", | |
"page_template", | |
"page_type", | |
"page_parent", | |
"page", | |
"current_user", | |
"current_user_role", | |
"user_form", | |
"user_role", | |
"attachment", | |
"taxonomy", | |
"comment", | |
"widget", | |
"options_page" | |
] | |
}, | |
"operator": { | |
"$ref": "#/definitions/equality" | |
}, | |
"value": { | |
"oneOf": [ | |
{ "type": "string" }, | |
{ "type": "integer" } | |
] | |
} | |
}, | |
"required": ["param", "operator", "value"] | |
} | |
} | |
}, | |
"menu_order": { | |
"type": "integer" | |
}, | |
"position": { | |
"type": "string", | |
"enum": ["normal", "high", "side"] | |
}, | |
"style": { | |
"type": "string", | |
"enum": ["default", "seamless"] | |
}, | |
"label_placement": { | |
"type": "string", | |
"enum": ["top", "left"] | |
}, | |
"instruction_placement": { | |
"type": "string", | |
"enum": ["label", "field"] | |
}, | |
"hide_on_screen": { | |
"oneOf": [ | |
{ | |
"$ref": "#/definitions/empty" | |
}, | |
{ | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
} | |
] | |
}, | |
"active": { | |
"$ref": "#/definitions/intBool" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"private": { | |
"$ref": "#/definitions/intBool" | |
}, | |
"modified": { | |
"type": "integer" | |
} | |
}, | |
"required": [ "key", "title", "fields" ] | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment