PluginProbe ʕ •ᴥ•ʔ
Secure Custom Fields / 6.9.1
Secure Custom Fields v6.9.1
6.9.1 6.9.0 6.8.9 6.8.7 6.8.8 6.8.6 6.8.4 6.8.5 trunk 6.4.0-beta1 6.4.0-beta2 6.4.1 6.4.1-beta3 6.4.1-beta4 6.4.1-beta5 6.4.1-beta6 6.4.1-beta7 6.4.2 6.5.0 6.5.1 6.5.2 6.5.3 6.5.4 6.5.5 6.5.6 6.5.7 6.6.0 6.7.0 6.7.1 6.8.0 6.8.1 6.8.2 6.8.3
secure-custom-fields / schemas / field.schema.json
secure-custom-fields / schemas Last commit date
field-fragments 6 months ago fields 2 months ago common.schema.json 6 months ago field-group.schema.json 2 months ago field.schema.json 6 months ago internal-properties.schema.json 6 months ago post-type.schema.json 2 months ago scf-identifier.schema.json 6 months ago taxonomy.schema.json 2 months ago ui-options-page.schema.json 6 months ago
field.schema.json
4887 lines
1 {
2 "$schema": "http://json-schema.org/draft-07/schema#",
3 "$id": "https://raw.githubusercontent.com/WordPress/secure-custom-fields/trunk/schemas/field.schema.json",
4 "title": "SCF Field",
5 "description": "Schema for Secure Custom Fields field definitions. Auto-generated from field-fragments/.",
6 "oneOf": [
7 {
8 "description": "Single field object with required parent",
9 "$ref": "#/definitions/field",
10 "required": [
11 "key",
12 "label",
13 "name",
14 "type",
15 "parent"
16 ]
17 },
18 {
19 "description": "Array of field objects with required parent",
20 "type": "array",
21 "items": {
22 "$ref": "#/definitions/field",
23 "required": [
24 "key",
25 "label",
26 "name",
27 "type",
28 "parent"
29 ]
30 },
31 "minItems": 1
32 }
33 ],
34 "definitions": {
35 "field": {
36 "oneOf": [
37 {
38 "type": "object",
39 "required": [
40 "key",
41 "label",
42 "name",
43 "type"
44 ],
45 "properties": {
46 "key": {
47 "type": "string",
48 "pattern": "^field_.+$",
49 "minLength": 1,
50 "description": "Unique identifier for the field with field_ prefix (e.g. 'field_abc123')"
51 },
52 "label": {
53 "type": "string",
54 "minLength": 1,
55 "description": "The label displayed for this field"
56 },
57 "name": {
58 "type": "string",
59 "pattern": "^[a-zA-Z0-9_-]*$",
60 "description": "The field name/meta_key used to save and load data (empty for layout fields like tab, accordion)"
61 },
62 "aria-label": {
63 "type": "string",
64 "description": "Accessible label for screen readers"
65 },
66 "type": {
67 "type": "string",
68 "enum": [
69 "color_picker"
70 ],
71 "description": "The type of field"
72 },
73 "instructions": {
74 "type": "string",
75 "description": "Instructions for content editors"
76 },
77 "required": {
78 "type": [
79 "boolean",
80 "integer"
81 ],
82 "default": false,
83 "description": "Whether the field is required"
84 },
85 "conditional_logic": {
86 "type": [
87 "boolean",
88 "integer",
89 "string",
90 "array"
91 ],
92 "default": 0,
93 "description": "Conditional logic rules for field visibility. False/0/empty string to disable, or array of rule groups."
94 },
95 "wrapper": {
96 "type": "object",
97 "additionalProperties": false,
98 "properties": {
99 "width": {
100 "type": "string",
101 "description": "Width of the field wrapper (e.g. '50' for 50%)"
102 },
103 "class": {
104 "type": "string",
105 "description": "CSS class(es) for the field wrapper"
106 },
107 "id": {
108 "type": "string",
109 "description": "HTML ID for the field wrapper"
110 }
111 },
112 "description": "Wrapper element settings"
113 },
114 "menu_order": {
115 "type": "integer",
116 "description": "Order of the field within its parent"
117 },
118 "parent": {
119 "type": [
120 "string",
121 "integer"
122 ],
123 "description": "Parent field or field group key/ID"
124 },
125 "parent_layout": {
126 "type": "string",
127 "description": "Parent layout key for flexible content sub-fields"
128 },
129 "default_value": {
130 "$ref": "#/definitions/default_value"
131 },
132 "enable_opacity": {
133 "type": [
134 "boolean",
135 "integer"
136 ],
137 "default": false,
138 "description": "Enable alpha/opacity selector for RGBA colors"
139 },
140 "custom_palette_source": {
141 "type": "string",
142 "default": "",
143 "description": "Source for custom color palette (empty for default)"
144 },
145 "palette_colors": {
146 "type": "string",
147 "default": "",
148 "description": "Custom palette colors as comma-separated hex values"
149 },
150 "show_color_wheel": {
151 "type": [
152 "boolean",
153 "integer"
154 ],
155 "default": true,
156 "description": "Display the color wheel picker interface"
157 },
158 "return_format": {
159 "type": "string",
160 "enum": [
161 "string",
162 "array"
163 ],
164 "default": "string",
165 "description": "Value returned (hex string or RGBA array)"
166 }
167 },
168 "additionalProperties": false
169 },
170 {
171 "type": "object",
172 "required": [
173 "key",
174 "label",
175 "name",
176 "type"
177 ],
178 "properties": {
179 "key": {
180 "type": "string",
181 "pattern": "^field_.+$",
182 "minLength": 1,
183 "description": "Unique identifier for the field with field_ prefix (e.g. 'field_abc123')"
184 },
185 "label": {
186 "type": "string",
187 "minLength": 1,
188 "description": "The label displayed for this field"
189 },
190 "name": {
191 "type": "string",
192 "pattern": "^[a-zA-Z0-9_-]*$",
193 "description": "The field name/meta_key used to save and load data (empty for layout fields like tab, accordion)"
194 },
195 "aria-label": {
196 "type": "string",
197 "description": "Accessible label for screen readers"
198 },
199 "type": {
200 "type": "string",
201 "enum": [
202 "date_picker"
203 ],
204 "description": "The type of field"
205 },
206 "instructions": {
207 "type": "string",
208 "description": "Instructions for content editors"
209 },
210 "required": {
211 "type": [
212 "boolean",
213 "integer"
214 ],
215 "default": false,
216 "description": "Whether the field is required"
217 },
218 "conditional_logic": {
219 "type": [
220 "boolean",
221 "integer",
222 "string",
223 "array"
224 ],
225 "default": 0,
226 "description": "Conditional logic rules for field visibility. False/0/empty string to disable, or array of rule groups."
227 },
228 "wrapper": {
229 "type": "object",
230 "additionalProperties": false,
231 "properties": {
232 "width": {
233 "type": "string",
234 "description": "Width of the field wrapper (e.g. '50' for 50%)"
235 },
236 "class": {
237 "type": "string",
238 "description": "CSS class(es) for the field wrapper"
239 },
240 "id": {
241 "type": "string",
242 "description": "HTML ID for the field wrapper"
243 }
244 },
245 "description": "Wrapper element settings"
246 },
247 "menu_order": {
248 "type": "integer",
249 "description": "Order of the field within its parent"
250 },
251 "parent": {
252 "type": [
253 "string",
254 "integer"
255 ],
256 "description": "Parent field or field group key/ID"
257 },
258 "parent_layout": {
259 "type": "string",
260 "description": "Parent layout key for flexible content sub-fields"
261 },
262 "display_format": {
263 "type": "string",
264 "default": "d/m/Y",
265 "description": "Date format shown to user in field UI"
266 },
267 "return_format": {
268 "type": "string",
269 "default": "d/m/Y",
270 "description": "Date format returned by get_field()"
271 },
272 "first_day": {
273 "$ref": "#/definitions/first_day"
274 },
275 "default_to_current_date": {
276 "$ref": "#/definitions/default_to_current_date"
277 }
278 },
279 "additionalProperties": false
280 },
281 {
282 "type": "object",
283 "required": [
284 "key",
285 "label",
286 "name",
287 "type"
288 ],
289 "properties": {
290 "key": {
291 "type": "string",
292 "pattern": "^field_.+$",
293 "minLength": 1,
294 "description": "Unique identifier for the field with field_ prefix (e.g. 'field_abc123')"
295 },
296 "label": {
297 "type": "string",
298 "minLength": 1,
299 "description": "The label displayed for this field"
300 },
301 "name": {
302 "type": "string",
303 "pattern": "^[a-zA-Z0-9_-]*$",
304 "description": "The field name/meta_key used to save and load data (empty for layout fields like tab, accordion)"
305 },
306 "aria-label": {
307 "type": "string",
308 "description": "Accessible label for screen readers"
309 },
310 "type": {
311 "type": "string",
312 "enum": [
313 "date_time_picker"
314 ],
315 "description": "The type of field"
316 },
317 "instructions": {
318 "type": "string",
319 "description": "Instructions for content editors"
320 },
321 "required": {
322 "type": [
323 "boolean",
324 "integer"
325 ],
326 "default": false,
327 "description": "Whether the field is required"
328 },
329 "conditional_logic": {
330 "type": [
331 "boolean",
332 "integer",
333 "string",
334 "array"
335 ],
336 "default": 0,
337 "description": "Conditional logic rules for field visibility. False/0/empty string to disable, or array of rule groups."
338 },
339 "wrapper": {
340 "type": "object",
341 "additionalProperties": false,
342 "properties": {
343 "width": {
344 "type": "string",
345 "description": "Width of the field wrapper (e.g. '50' for 50%)"
346 },
347 "class": {
348 "type": "string",
349 "description": "CSS class(es) for the field wrapper"
350 },
351 "id": {
352 "type": "string",
353 "description": "HTML ID for the field wrapper"
354 }
355 },
356 "description": "Wrapper element settings"
357 },
358 "menu_order": {
359 "type": "integer",
360 "description": "Order of the field within its parent"
361 },
362 "parent": {
363 "type": [
364 "string",
365 "integer"
366 ],
367 "description": "Parent field or field group key/ID"
368 },
369 "parent_layout": {
370 "type": "string",
371 "description": "Parent layout key for flexible content sub-fields"
372 },
373 "display_format": {
374 "type": "string",
375 "default": "d/m/Y g:i a",
376 "description": "Date/time format shown to user in field UI"
377 },
378 "return_format": {
379 "type": "string",
380 "default": "d/m/Y g:i a",
381 "description": "Date/time format returned by get_field()"
382 },
383 "first_day": {
384 "$ref": "#/definitions/first_day"
385 },
386 "default_to_current_date": {
387 "$ref": "#/definitions/default_to_current_date"
388 }
389 },
390 "additionalProperties": false
391 },
392 {
393 "type": "object",
394 "required": [
395 "key",
396 "label",
397 "name",
398 "type"
399 ],
400 "properties": {
401 "key": {
402 "type": "string",
403 "pattern": "^field_.+$",
404 "minLength": 1,
405 "description": "Unique identifier for the field with field_ prefix (e.g. 'field_abc123')"
406 },
407 "label": {
408 "type": "string",
409 "minLength": 1,
410 "description": "The label displayed for this field"
411 },
412 "name": {
413 "type": "string",
414 "pattern": "^[a-zA-Z0-9_-]*$",
415 "description": "The field name/meta_key used to save and load data (empty for layout fields like tab, accordion)"
416 },
417 "aria-label": {
418 "type": "string",
419 "description": "Accessible label for screen readers"
420 },
421 "type": {
422 "type": "string",
423 "enum": [
424 "google_map"
425 ],
426 "description": "The type of field"
427 },
428 "instructions": {
429 "type": "string",
430 "description": "Instructions for content editors"
431 },
432 "required": {
433 "type": [
434 "boolean",
435 "integer"
436 ],
437 "default": false,
438 "description": "Whether the field is required"
439 },
440 "conditional_logic": {
441 "type": [
442 "boolean",
443 "integer",
444 "string",
445 "array"
446 ],
447 "default": 0,
448 "description": "Conditional logic rules for field visibility. False/0/empty string to disable, or array of rule groups."
449 },
450 "wrapper": {
451 "type": "object",
452 "additionalProperties": false,
453 "properties": {
454 "width": {
455 "type": "string",
456 "description": "Width of the field wrapper (e.g. '50' for 50%)"
457 },
458 "class": {
459 "type": "string",
460 "description": "CSS class(es) for the field wrapper"
461 },
462 "id": {
463 "type": "string",
464 "description": "HTML ID for the field wrapper"
465 }
466 },
467 "description": "Wrapper element settings"
468 },
469 "menu_order": {
470 "type": "integer",
471 "description": "Order of the field within its parent"
472 },
473 "parent": {
474 "type": [
475 "string",
476 "integer"
477 ],
478 "description": "Parent field or field group key/ID"
479 },
480 "parent_layout": {
481 "type": "string",
482 "description": "Parent layout key for flexible content sub-fields"
483 },
484 "height": {
485 "type": "string",
486 "default": "",
487 "description": "Map height in pixels (empty uses default 400)"
488 },
489 "center_lat": {
490 "type": "string",
491 "default": "",
492 "description": "Initial map center latitude (empty uses default)"
493 },
494 "center_lng": {
495 "type": "string",
496 "default": "",
497 "description": "Initial map center longitude (empty uses default)"
498 },
499 "zoom": {
500 "type": "string",
501 "default": "",
502 "description": "Initial map zoom level (empty uses default 14)"
503 }
504 },
505 "additionalProperties": false
506 },
507 {
508 "type": "object",
509 "required": [
510 "key",
511 "label",
512 "name",
513 "type"
514 ],
515 "properties": {
516 "key": {
517 "type": "string",
518 "pattern": "^field_.+$",
519 "minLength": 1,
520 "description": "Unique identifier for the field with field_ prefix (e.g. 'field_abc123')"
521 },
522 "label": {
523 "type": "string",
524 "minLength": 1,
525 "description": "The label displayed for this field"
526 },
527 "name": {
528 "type": "string",
529 "pattern": "^[a-zA-Z0-9_-]*$",
530 "description": "The field name/meta_key used to save and load data (empty for layout fields like tab, accordion)"
531 },
532 "aria-label": {
533 "type": "string",
534 "description": "Accessible label for screen readers"
535 },
536 "type": {
537 "type": "string",
538 "enum": [
539 "icon_picker"
540 ],
541 "description": "The type of field"
542 },
543 "instructions": {
544 "type": "string",
545 "description": "Instructions for content editors"
546 },
547 "required": {
548 "type": [
549 "boolean",
550 "integer"
551 ],
552 "default": false,
553 "description": "Whether the field is required"
554 },
555 "conditional_logic": {
556 "type": [
557 "boolean",
558 "integer",
559 "string",
560 "array"
561 ],
562 "default": 0,
563 "description": "Conditional logic rules for field visibility. False/0/empty string to disable, or array of rule groups."
564 },
565 "wrapper": {
566 "type": "object",
567 "additionalProperties": false,
568 "properties": {
569 "width": {
570 "type": "string",
571 "description": "Width of the field wrapper (e.g. '50' for 50%)"
572 },
573 "class": {
574 "type": "string",
575 "description": "CSS class(es) for the field wrapper"
576 },
577 "id": {
578 "type": "string",
579 "description": "HTML ID for the field wrapper"
580 }
581 },
582 "description": "Wrapper element settings"
583 },
584 "menu_order": {
585 "type": "integer",
586 "description": "Order of the field within its parent"
587 },
588 "parent": {
589 "type": [
590 "string",
591 "integer"
592 ],
593 "description": "Parent field or field group key/ID"
594 },
595 "parent_layout": {
596 "type": "string",
597 "description": "Parent layout key for flexible content sub-fields"
598 },
599 "library": {
600 "type": "string",
601 "default": "all",
602 "description": "Icon library source (all or specific library)"
603 },
604 "tabs": {
605 "type": "array",
606 "default": [
607 "dashicons",
608 "media_library",
609 "url"
610 ],
611 "description": "Available tabs for icon selection"
612 },
613 "return_format": {
614 "type": "string",
615 "default": "string",
616 "description": "Value returned (string or structured data)"
617 },
618 "default_value": {
619 "type": "object",
620 "default": [],
621 "description": "Default icon value with type and value properties",
622 "properties": {
623 "type": {
624 "type": [
625 "string",
626 "null"
627 ],
628 "description": "Icon type (dashicons, media_library, url)"
629 },
630 "value": {
631 "type": [
632 "string",
633 "null"
634 ],
635 "description": "Icon value (icon class, attachment ID, or URL)"
636 }
637 }
638 }
639 },
640 "additionalProperties": false
641 },
642 {
643 "type": "object",
644 "required": [
645 "key",
646 "label",
647 "name",
648 "type"
649 ],
650 "properties": {
651 "key": {
652 "type": "string",
653 "pattern": "^field_.+$",
654 "minLength": 1,
655 "description": "Unique identifier for the field with field_ prefix (e.g. 'field_abc123')"
656 },
657 "label": {
658 "type": "string",
659 "minLength": 1,
660 "description": "The label displayed for this field"
661 },
662 "name": {
663 "type": "string",
664 "pattern": "^[a-zA-Z0-9_-]*$",
665 "description": "The field name/meta_key used to save and load data (empty for layout fields like tab, accordion)"
666 },
667 "aria-label": {
668 "type": "string",
669 "description": "Accessible label for screen readers"
670 },
671 "type": {
672 "type": "string",
673 "enum": [
674 "time_picker"
675 ],
676 "description": "The type of field"
677 },
678 "instructions": {
679 "type": "string",
680 "description": "Instructions for content editors"
681 },
682 "required": {
683 "type": [
684 "boolean",
685 "integer"
686 ],
687 "default": false,
688 "description": "Whether the field is required"
689 },
690 "conditional_logic": {
691 "type": [
692 "boolean",
693 "integer",
694 "string",
695 "array"
696 ],
697 "default": 0,
698 "description": "Conditional logic rules for field visibility. False/0/empty string to disable, or array of rule groups."
699 },
700 "wrapper": {
701 "type": "object",
702 "additionalProperties": false,
703 "properties": {
704 "width": {
705 "type": "string",
706 "description": "Width of the field wrapper (e.g. '50' for 50%)"
707 },
708 "class": {
709 "type": "string",
710 "description": "CSS class(es) for the field wrapper"
711 },
712 "id": {
713 "type": "string",
714 "description": "HTML ID for the field wrapper"
715 }
716 },
717 "description": "Wrapper element settings"
718 },
719 "menu_order": {
720 "type": "integer",
721 "description": "Order of the field within its parent"
722 },
723 "parent": {
724 "type": [
725 "string",
726 "integer"
727 ],
728 "description": "Parent field or field group key/ID"
729 },
730 "parent_layout": {
731 "type": "string",
732 "description": "Parent layout key for flexible content sub-fields"
733 },
734 "display_format": {
735 "type": "string",
736 "default": "g:i a",
737 "description": "Time format shown to user in field UI"
738 },
739 "return_format": {
740 "type": "string",
741 "default": "g:i a",
742 "description": "Time format returned by get_field()"
743 }
744 },
745 "additionalProperties": false
746 },
747 {
748 "type": "object",
749 "required": [
750 "key",
751 "label",
752 "name",
753 "type"
754 ],
755 "properties": {
756 "key": {
757 "type": "string",
758 "pattern": "^field_.+$",
759 "minLength": 1,
760 "description": "Unique identifier for the field with field_ prefix (e.g. 'field_abc123')"
761 },
762 "label": {
763 "type": "string",
764 "minLength": 1,
765 "description": "The label displayed for this field"
766 },
767 "name": {
768 "type": "string",
769 "pattern": "^[a-zA-Z0-9_-]*$",
770 "description": "The field name/meta_key used to save and load data (empty for layout fields like tab, accordion)"
771 },
772 "aria-label": {
773 "type": "string",
774 "description": "Accessible label for screen readers"
775 },
776 "type": {
777 "type": "string",
778 "enum": [
779 "email"
780 ],
781 "description": "The type of field"
782 },
783 "instructions": {
784 "type": "string",
785 "description": "Instructions for content editors"
786 },
787 "required": {
788 "type": [
789 "boolean",
790 "integer"
791 ],
792 "default": false,
793 "description": "Whether the field is required"
794 },
795 "conditional_logic": {
796 "type": [
797 "boolean",
798 "integer",
799 "string",
800 "array"
801 ],
802 "default": 0,
803 "description": "Conditional logic rules for field visibility. False/0/empty string to disable, or array of rule groups."
804 },
805 "wrapper": {
806 "type": "object",
807 "additionalProperties": false,
808 "properties": {
809 "width": {
810 "type": "string",
811 "description": "Width of the field wrapper (e.g. '50' for 50%)"
812 },
813 "class": {
814 "type": "string",
815 "description": "CSS class(es) for the field wrapper"
816 },
817 "id": {
818 "type": "string",
819 "description": "HTML ID for the field wrapper"
820 }
821 },
822 "description": "Wrapper element settings"
823 },
824 "menu_order": {
825 "type": "integer",
826 "description": "Order of the field within its parent"
827 },
828 "parent": {
829 "type": [
830 "string",
831 "integer"
832 ],
833 "description": "Parent field or field group key/ID"
834 },
835 "parent_layout": {
836 "type": "string",
837 "description": "Parent layout key for flexible content sub-fields"
838 },
839 "default_value": {
840 "$ref": "#/definitions/default_value"
841 },
842 "placeholder": {
843 "$ref": "#/definitions/placeholder"
844 },
845 "prepend": {
846 "$ref": "#/definitions/prepend"
847 },
848 "append": {
849 "$ref": "#/definitions/append"
850 }
851 },
852 "additionalProperties": false
853 },
854 {
855 "type": "object",
856 "required": [
857 "key",
858 "label",
859 "name",
860 "type"
861 ],
862 "properties": {
863 "key": {
864 "type": "string",
865 "pattern": "^field_.+$",
866 "minLength": 1,
867 "description": "Unique identifier for the field with field_ prefix (e.g. 'field_abc123')"
868 },
869 "label": {
870 "type": "string",
871 "minLength": 1,
872 "description": "The label displayed for this field"
873 },
874 "name": {
875 "type": "string",
876 "pattern": "^[a-zA-Z0-9_-]*$",
877 "description": "The field name/meta_key used to save and load data (empty for layout fields like tab, accordion)"
878 },
879 "aria-label": {
880 "type": "string",
881 "description": "Accessible label for screen readers"
882 },
883 "type": {
884 "type": "string",
885 "enum": [
886 "number"
887 ],
888 "description": "The type of field"
889 },
890 "instructions": {
891 "type": "string",
892 "description": "Instructions for content editors"
893 },
894 "required": {
895 "type": [
896 "boolean",
897 "integer"
898 ],
899 "default": false,
900 "description": "Whether the field is required"
901 },
902 "conditional_logic": {
903 "type": [
904 "boolean",
905 "integer",
906 "string",
907 "array"
908 ],
909 "default": 0,
910 "description": "Conditional logic rules for field visibility. False/0/empty string to disable, or array of rule groups."
911 },
912 "wrapper": {
913 "type": "object",
914 "additionalProperties": false,
915 "properties": {
916 "width": {
917 "type": "string",
918 "description": "Width of the field wrapper (e.g. '50' for 50%)"
919 },
920 "class": {
921 "type": "string",
922 "description": "CSS class(es) for the field wrapper"
923 },
924 "id": {
925 "type": "string",
926 "description": "HTML ID for the field wrapper"
927 }
928 },
929 "description": "Wrapper element settings"
930 },
931 "menu_order": {
932 "type": "integer",
933 "description": "Order of the field within its parent"
934 },
935 "parent": {
936 "type": [
937 "string",
938 "integer"
939 ],
940 "description": "Parent field or field group key/ID"
941 },
942 "parent_layout": {
943 "type": "string",
944 "description": "Parent layout key for flexible content sub-fields"
945 },
946 "default_value": {
947 "$ref": "#/definitions/default_value_numeric"
948 },
949 "min": {
950 "type": [
951 "integer",
952 "number",
953 "string"
954 ],
955 "default": "",
956 "description": "Minimum value (empty string for unlimited)"
957 },
958 "max": {
959 "type": [
960 "integer",
961 "number",
962 "string"
963 ],
964 "default": "",
965 "description": "Maximum value (empty string for unlimited)"
966 },
967 "step": {
968 "type": [
969 "integer",
970 "number",
971 "string"
972 ],
973 "default": "",
974 "description": "Step increment (empty string for default, 'any' for no restriction)"
975 },
976 "placeholder": {
977 "$ref": "#/definitions/placeholder"
978 },
979 "prepend": {
980 "$ref": "#/definitions/prepend"
981 },
982 "append": {
983 "$ref": "#/definitions/append"
984 }
985 },
986 "additionalProperties": false
987 },
988 {
989 "type": "object",
990 "required": [
991 "key",
992 "label",
993 "name",
994 "type"
995 ],
996 "properties": {
997 "key": {
998 "type": "string",
999 "pattern": "^field_.+$",
1000 "minLength": 1,
1001 "description": "Unique identifier for the field with field_ prefix (e.g. 'field_abc123')"
1002 },
1003 "label": {
1004 "type": "string",
1005 "minLength": 1,
1006 "description": "The label displayed for this field"
1007 },
1008 "name": {
1009 "type": "string",
1010 "pattern": "^[a-zA-Z0-9_-]*$",
1011 "description": "The field name/meta_key used to save and load data (empty for layout fields like tab, accordion)"
1012 },
1013 "aria-label": {
1014 "type": "string",
1015 "description": "Accessible label for screen readers"
1016 },
1017 "type": {
1018 "type": "string",
1019 "enum": [
1020 "password"
1021 ],
1022 "description": "The type of field"
1023 },
1024 "instructions": {
1025 "type": "string",
1026 "description": "Instructions for content editors"
1027 },
1028 "required": {
1029 "type": [
1030 "boolean",
1031 "integer"
1032 ],
1033 "default": false,
1034 "description": "Whether the field is required"
1035 },
1036 "conditional_logic": {
1037 "type": [
1038 "boolean",
1039 "integer",
1040 "string",
1041 "array"
1042 ],
1043 "default": 0,
1044 "description": "Conditional logic rules for field visibility. False/0/empty string to disable, or array of rule groups."
1045 },
1046 "wrapper": {
1047 "type": "object",
1048 "additionalProperties": false,
1049 "properties": {
1050 "width": {
1051 "type": "string",
1052 "description": "Width of the field wrapper (e.g. '50' for 50%)"
1053 },
1054 "class": {
1055 "type": "string",
1056 "description": "CSS class(es) for the field wrapper"
1057 },
1058 "id": {
1059 "type": "string",
1060 "description": "HTML ID for the field wrapper"
1061 }
1062 },
1063 "description": "Wrapper element settings"
1064 },
1065 "menu_order": {
1066 "type": "integer",
1067 "description": "Order of the field within its parent"
1068 },
1069 "parent": {
1070 "type": [
1071 "string",
1072 "integer"
1073 ],
1074 "description": "Parent field or field group key/ID"
1075 },
1076 "parent_layout": {
1077 "type": "string",
1078 "description": "Parent layout key for flexible content sub-fields"
1079 },
1080 "placeholder": {
1081 "$ref": "#/definitions/placeholder"
1082 },
1083 "prepend": {
1084 "$ref": "#/definitions/prepend"
1085 },
1086 "append": {
1087 "$ref": "#/definitions/append"
1088 }
1089 },
1090 "additionalProperties": false
1091 },
1092 {
1093 "type": "object",
1094 "required": [
1095 "key",
1096 "label",
1097 "name",
1098 "type"
1099 ],
1100 "properties": {
1101 "key": {
1102 "type": "string",
1103 "pattern": "^field_.+$",
1104 "minLength": 1,
1105 "description": "Unique identifier for the field with field_ prefix (e.g. 'field_abc123')"
1106 },
1107 "label": {
1108 "type": "string",
1109 "minLength": 1,
1110 "description": "The label displayed for this field"
1111 },
1112 "name": {
1113 "type": "string",
1114 "pattern": "^[a-zA-Z0-9_-]*$",
1115 "description": "The field name/meta_key used to save and load data (empty for layout fields like tab, accordion)"
1116 },
1117 "aria-label": {
1118 "type": "string",
1119 "description": "Accessible label for screen readers"
1120 },
1121 "type": {
1122 "type": "string",
1123 "enum": [
1124 "range"
1125 ],
1126 "description": "The type of field"
1127 },
1128 "instructions": {
1129 "type": "string",
1130 "description": "Instructions for content editors"
1131 },
1132 "required": {
1133 "type": [
1134 "boolean",
1135 "integer"
1136 ],
1137 "default": false,
1138 "description": "Whether the field is required"
1139 },
1140 "conditional_logic": {
1141 "type": [
1142 "boolean",
1143 "integer",
1144 "string",
1145 "array"
1146 ],
1147 "default": 0,
1148 "description": "Conditional logic rules for field visibility. False/0/empty string to disable, or array of rule groups."
1149 },
1150 "wrapper": {
1151 "type": "object",
1152 "additionalProperties": false,
1153 "properties": {
1154 "width": {
1155 "type": "string",
1156 "description": "Width of the field wrapper (e.g. '50' for 50%)"
1157 },
1158 "class": {
1159 "type": "string",
1160 "description": "CSS class(es) for the field wrapper"
1161 },
1162 "id": {
1163 "type": "string",
1164 "description": "HTML ID for the field wrapper"
1165 }
1166 },
1167 "description": "Wrapper element settings"
1168 },
1169 "menu_order": {
1170 "type": "integer",
1171 "description": "Order of the field within its parent"
1172 },
1173 "parent": {
1174 "type": [
1175 "string",
1176 "integer"
1177 ],
1178 "description": "Parent field or field group key/ID"
1179 },
1180 "parent_layout": {
1181 "type": "string",
1182 "description": "Parent layout key for flexible content sub-fields"
1183 },
1184 "default_value": {
1185 "$ref": "#/definitions/default_value_numeric"
1186 },
1187 "min": {
1188 "type": [
1189 "integer",
1190 "number",
1191 "string"
1192 ],
1193 "default": "",
1194 "description": "Minimum value (empty string for unlimited)"
1195 },
1196 "max": {
1197 "type": [
1198 "integer",
1199 "number",
1200 "string"
1201 ],
1202 "default": "",
1203 "description": "Maximum value (empty string for unlimited)"
1204 },
1205 "step": {
1206 "type": [
1207 "integer",
1208 "number",
1209 "string"
1210 ],
1211 "default": "",
1212 "description": "Step increment (empty string for default, 'any' for no restriction)"
1213 },
1214 "placeholder": {
1215 "$ref": "#/definitions/placeholder"
1216 },
1217 "prepend": {
1218 "$ref": "#/definitions/prepend"
1219 },
1220 "append": {
1221 "$ref": "#/definitions/append"
1222 }
1223 },
1224 "additionalProperties": false
1225 },
1226 {
1227 "type": "object",
1228 "required": [
1229 "key",
1230 "label",
1231 "name",
1232 "type"
1233 ],
1234 "properties": {
1235 "key": {
1236 "type": "string",
1237 "pattern": "^field_.+$",
1238 "minLength": 1,
1239 "description": "Unique identifier for the field with field_ prefix (e.g. 'field_abc123')"
1240 },
1241 "label": {
1242 "type": "string",
1243 "minLength": 1,
1244 "description": "The label displayed for this field"
1245 },
1246 "name": {
1247 "type": "string",
1248 "pattern": "^[a-zA-Z0-9_-]*$",
1249 "description": "The field name/meta_key used to save and load data (empty for layout fields like tab, accordion)"
1250 },
1251 "aria-label": {
1252 "type": "string",
1253 "description": "Accessible label for screen readers"
1254 },
1255 "type": {
1256 "type": "string",
1257 "enum": [
1258 "text"
1259 ],
1260 "description": "The type of field"
1261 },
1262 "instructions": {
1263 "type": "string",
1264 "description": "Instructions for content editors"
1265 },
1266 "required": {
1267 "type": [
1268 "boolean",
1269 "integer"
1270 ],
1271 "default": false,
1272 "description": "Whether the field is required"
1273 },
1274 "conditional_logic": {
1275 "type": [
1276 "boolean",
1277 "integer",
1278 "string",
1279 "array"
1280 ],
1281 "default": 0,
1282 "description": "Conditional logic rules for field visibility. False/0/empty string to disable, or array of rule groups."
1283 },
1284 "wrapper": {
1285 "type": "object",
1286 "additionalProperties": false,
1287 "properties": {
1288 "width": {
1289 "type": "string",
1290 "description": "Width of the field wrapper (e.g. '50' for 50%)"
1291 },
1292 "class": {
1293 "type": "string",
1294 "description": "CSS class(es) for the field wrapper"
1295 },
1296 "id": {
1297 "type": "string",
1298 "description": "HTML ID for the field wrapper"
1299 }
1300 },
1301 "description": "Wrapper element settings"
1302 },
1303 "menu_order": {
1304 "type": "integer",
1305 "description": "Order of the field within its parent"
1306 },
1307 "parent": {
1308 "type": [
1309 "string",
1310 "integer"
1311 ],
1312 "description": "Parent field or field group key/ID"
1313 },
1314 "parent_layout": {
1315 "type": "string",
1316 "description": "Parent layout key for flexible content sub-fields"
1317 },
1318 "default_value": {
1319 "$ref": "#/definitions/default_value"
1320 },
1321 "maxlength": {
1322 "$ref": "#/definitions/maxlength"
1323 },
1324 "placeholder": {
1325 "$ref": "#/definitions/placeholder"
1326 },
1327 "prepend": {
1328 "$ref": "#/definitions/prepend"
1329 },
1330 "append": {
1331 "$ref": "#/definitions/append"
1332 }
1333 },
1334 "additionalProperties": false
1335 },
1336 {
1337 "type": "object",
1338 "required": [
1339 "key",
1340 "label",
1341 "name",
1342 "type"
1343 ],
1344 "properties": {
1345 "key": {
1346 "type": "string",
1347 "pattern": "^field_.+$",
1348 "minLength": 1,
1349 "description": "Unique identifier for the field with field_ prefix (e.g. 'field_abc123')"
1350 },
1351 "label": {
1352 "type": "string",
1353 "minLength": 1,
1354 "description": "The label displayed for this field"
1355 },
1356 "name": {
1357 "type": "string",
1358 "pattern": "^[a-zA-Z0-9_-]*$",
1359 "description": "The field name/meta_key used to save and load data (empty for layout fields like tab, accordion)"
1360 },
1361 "aria-label": {
1362 "type": "string",
1363 "description": "Accessible label for screen readers"
1364 },
1365 "type": {
1366 "type": "string",
1367 "enum": [
1368 "textarea"
1369 ],
1370 "description": "The type of field"
1371 },
1372 "instructions": {
1373 "type": "string",
1374 "description": "Instructions for content editors"
1375 },
1376 "required": {
1377 "type": [
1378 "boolean",
1379 "integer"
1380 ],
1381 "default": false,
1382 "description": "Whether the field is required"
1383 },
1384 "conditional_logic": {
1385 "type": [
1386 "boolean",
1387 "integer",
1388 "string",
1389 "array"
1390 ],
1391 "default": 0,
1392 "description": "Conditional logic rules for field visibility. False/0/empty string to disable, or array of rule groups."
1393 },
1394 "wrapper": {
1395 "type": "object",
1396 "additionalProperties": false,
1397 "properties": {
1398 "width": {
1399 "type": "string",
1400 "description": "Width of the field wrapper (e.g. '50' for 50%)"
1401 },
1402 "class": {
1403 "type": "string",
1404 "description": "CSS class(es) for the field wrapper"
1405 },
1406 "id": {
1407 "type": "string",
1408 "description": "HTML ID for the field wrapper"
1409 }
1410 },
1411 "description": "Wrapper element settings"
1412 },
1413 "menu_order": {
1414 "type": "integer",
1415 "description": "Order of the field within its parent"
1416 },
1417 "parent": {
1418 "type": [
1419 "string",
1420 "integer"
1421 ],
1422 "description": "Parent field or field group key/ID"
1423 },
1424 "parent_layout": {
1425 "type": "string",
1426 "description": "Parent layout key for flexible content sub-fields"
1427 },
1428 "default_value": {
1429 "$ref": "#/definitions/default_value"
1430 },
1431 "maxlength": {
1432 "$ref": "#/definitions/maxlength"
1433 },
1434 "rows": {
1435 "$ref": "#/definitions/rows"
1436 },
1437 "placeholder": {
1438 "$ref": "#/definitions/placeholder"
1439 },
1440 "new_lines": {
1441 "$ref": "#/definitions/new_lines"
1442 }
1443 },
1444 "additionalProperties": false
1445 },
1446 {
1447 "type": "object",
1448 "required": [
1449 "key",
1450 "label",
1451 "name",
1452 "type"
1453 ],
1454 "properties": {
1455 "key": {
1456 "type": "string",
1457 "pattern": "^field_.+$",
1458 "minLength": 1,
1459 "description": "Unique identifier for the field with field_ prefix (e.g. 'field_abc123')"
1460 },
1461 "label": {
1462 "type": "string",
1463 "minLength": 1,
1464 "description": "The label displayed for this field"
1465 },
1466 "name": {
1467 "type": "string",
1468 "pattern": "^[a-zA-Z0-9_-]*$",
1469 "description": "The field name/meta_key used to save and load data (empty for layout fields like tab, accordion)"
1470 },
1471 "aria-label": {
1472 "type": "string",
1473 "description": "Accessible label for screen readers"
1474 },
1475 "type": {
1476 "type": "string",
1477 "enum": [
1478 "url"
1479 ],
1480 "description": "The type of field"
1481 },
1482 "instructions": {
1483 "type": "string",
1484 "description": "Instructions for content editors"
1485 },
1486 "required": {
1487 "type": [
1488 "boolean",
1489 "integer"
1490 ],
1491 "default": false,
1492 "description": "Whether the field is required"
1493 },
1494 "conditional_logic": {
1495 "type": [
1496 "boolean",
1497 "integer",
1498 "string",
1499 "array"
1500 ],
1501 "default": 0,
1502 "description": "Conditional logic rules for field visibility. False/0/empty string to disable, or array of rule groups."
1503 },
1504 "wrapper": {
1505 "type": "object",
1506 "additionalProperties": false,
1507 "properties": {
1508 "width": {
1509 "type": "string",
1510 "description": "Width of the field wrapper (e.g. '50' for 50%)"
1511 },
1512 "class": {
1513 "type": "string",
1514 "description": "CSS class(es) for the field wrapper"
1515 },
1516 "id": {
1517 "type": "string",
1518 "description": "HTML ID for the field wrapper"
1519 }
1520 },
1521 "description": "Wrapper element settings"
1522 },
1523 "menu_order": {
1524 "type": "integer",
1525 "description": "Order of the field within its parent"
1526 },
1527 "parent": {
1528 "type": [
1529 "string",
1530 "integer"
1531 ],
1532 "description": "Parent field or field group key/ID"
1533 },
1534 "parent_layout": {
1535 "type": "string",
1536 "description": "Parent layout key for flexible content sub-fields"
1537 },
1538 "default_value": {
1539 "$ref": "#/definitions/default_value"
1540 },
1541 "placeholder": {
1542 "$ref": "#/definitions/placeholder"
1543 }
1544 },
1545 "additionalProperties": false
1546 },
1547 {
1548 "type": "object",
1549 "required": [
1550 "key",
1551 "label",
1552 "name",
1553 "type"
1554 ],
1555 "properties": {
1556 "key": {
1557 "type": "string",
1558 "pattern": "^field_.+$",
1559 "minLength": 1,
1560 "description": "Unique identifier for the field with field_ prefix (e.g. 'field_abc123')"
1561 },
1562 "label": {
1563 "type": "string",
1564 "minLength": 1,
1565 "description": "The label displayed for this field"
1566 },
1567 "name": {
1568 "type": "string",
1569 "pattern": "^[a-zA-Z0-9_-]*$",
1570 "description": "The field name/meta_key used to save and load data (empty for layout fields like tab, accordion)"
1571 },
1572 "aria-label": {
1573 "type": "string",
1574 "description": "Accessible label for screen readers"
1575 },
1576 "type": {
1577 "type": "string",
1578 "enum": [
1579 "button_group"
1580 ],
1581 "description": "The type of field"
1582 },
1583 "instructions": {
1584 "type": "string",
1585 "description": "Instructions for content editors"
1586 },
1587 "required": {
1588 "type": [
1589 "boolean",
1590 "integer"
1591 ],
1592 "default": false,
1593 "description": "Whether the field is required"
1594 },
1595 "conditional_logic": {
1596 "type": [
1597 "boolean",
1598 "integer",
1599 "string",
1600 "array"
1601 ],
1602 "default": 0,
1603 "description": "Conditional logic rules for field visibility. False/0/empty string to disable, or array of rule groups."
1604 },
1605 "wrapper": {
1606 "type": "object",
1607 "additionalProperties": false,
1608 "properties": {
1609 "width": {
1610 "type": "string",
1611 "description": "Width of the field wrapper (e.g. '50' for 50%)"
1612 },
1613 "class": {
1614 "type": "string",
1615 "description": "CSS class(es) for the field wrapper"
1616 },
1617 "id": {
1618 "type": "string",
1619 "description": "HTML ID for the field wrapper"
1620 }
1621 },
1622 "description": "Wrapper element settings"
1623 },
1624 "menu_order": {
1625 "type": "integer",
1626 "description": "Order of the field within its parent"
1627 },
1628 "parent": {
1629 "type": [
1630 "string",
1631 "integer"
1632 ],
1633 "description": "Parent field or field group key/ID"
1634 },
1635 "parent_layout": {
1636 "type": "string",
1637 "description": "Parent layout key for flexible content sub-fields"
1638 },
1639 "choices": {
1640 "$ref": "#/definitions/choices"
1641 },
1642 "default_value": {
1643 "$ref": "#/definitions/default_value"
1644 },
1645 "return_format": {
1646 "$ref": "#/definitions/return_format_choice"
1647 },
1648 "layout": {
1649 "type": "string",
1650 "enum": [
1651 "vertical",
1652 "horizontal"
1653 ],
1654 "default": "horizontal",
1655 "description": "Layout direction for button choices"
1656 },
1657 "allow_null": {
1658 "$ref": "#/definitions/allow_null"
1659 }
1660 },
1661 "additionalProperties": false
1662 },
1663 {
1664 "type": "object",
1665 "required": [
1666 "key",
1667 "label",
1668 "name",
1669 "type"
1670 ],
1671 "properties": {
1672 "key": {
1673 "type": "string",
1674 "pattern": "^field_.+$",
1675 "minLength": 1,
1676 "description": "Unique identifier for the field with field_ prefix (e.g. 'field_abc123')"
1677 },
1678 "label": {
1679 "type": "string",
1680 "minLength": 1,
1681 "description": "The label displayed for this field"
1682 },
1683 "name": {
1684 "type": "string",
1685 "pattern": "^[a-zA-Z0-9_-]*$",
1686 "description": "The field name/meta_key used to save and load data (empty for layout fields like tab, accordion)"
1687 },
1688 "aria-label": {
1689 "type": "string",
1690 "description": "Accessible label for screen readers"
1691 },
1692 "type": {
1693 "type": "string",
1694 "enum": [
1695 "checkbox"
1696 ],
1697 "description": "The type of field"
1698 },
1699 "instructions": {
1700 "type": "string",
1701 "description": "Instructions for content editors"
1702 },
1703 "required": {
1704 "type": [
1705 "boolean",
1706 "integer"
1707 ],
1708 "default": false,
1709 "description": "Whether the field is required"
1710 },
1711 "conditional_logic": {
1712 "type": [
1713 "boolean",
1714 "integer",
1715 "string",
1716 "array"
1717 ],
1718 "default": 0,
1719 "description": "Conditional logic rules for field visibility. False/0/empty string to disable, or array of rule groups."
1720 },
1721 "wrapper": {
1722 "type": "object",
1723 "additionalProperties": false,
1724 "properties": {
1725 "width": {
1726 "type": "string",
1727 "description": "Width of the field wrapper (e.g. '50' for 50%)"
1728 },
1729 "class": {
1730 "type": "string",
1731 "description": "CSS class(es) for the field wrapper"
1732 },
1733 "id": {
1734 "type": "string",
1735 "description": "HTML ID for the field wrapper"
1736 }
1737 },
1738 "description": "Wrapper element settings"
1739 },
1740 "menu_order": {
1741 "type": "integer",
1742 "description": "Order of the field within its parent"
1743 },
1744 "parent": {
1745 "type": [
1746 "string",
1747 "integer"
1748 ],
1749 "description": "Parent field or field group key/ID"
1750 },
1751 "parent_layout": {
1752 "type": "string",
1753 "description": "Parent layout key for flexible content sub-fields"
1754 },
1755 "choices": {
1756 "$ref": "#/definitions/choices"
1757 },
1758 "default_value": {
1759 "$ref": "#/definitions/default_value_multi"
1760 },
1761 "return_format": {
1762 "$ref": "#/definitions/return_format_choice"
1763 },
1764 "layout": {
1765 "$ref": "#/definitions/layout_choice"
1766 },
1767 "toggle": {
1768 "type": "integer",
1769 "default": 0,
1770 "description": "Show a toggle all checkbox (1 for yes, 0 for no)"
1771 },
1772 "allow_custom": {
1773 "type": "integer",
1774 "default": 0,
1775 "description": "Allow custom values to be added (1 for yes, 0 for no)"
1776 },
1777 "save_custom": {
1778 "type": "integer",
1779 "default": 0,
1780 "description": "Save custom values to the field choices (1 for yes, 0 for no)"
1781 },
1782 "custom_choice_button_text": {
1783 "type": "string",
1784 "default": "Add new choice",
1785 "description": "Text for the add custom choice button (translatable)"
1786 }
1787 },
1788 "additionalProperties": false
1789 },
1790 {
1791 "type": "object",
1792 "required": [
1793 "key",
1794 "label",
1795 "name",
1796 "type"
1797 ],
1798 "properties": {
1799 "key": {
1800 "type": "string",
1801 "pattern": "^field_.+$",
1802 "minLength": 1,
1803 "description": "Unique identifier for the field with field_ prefix (e.g. 'field_abc123')"
1804 },
1805 "label": {
1806 "type": "string",
1807 "minLength": 1,
1808 "description": "The label displayed for this field"
1809 },
1810 "name": {
1811 "type": "string",
1812 "pattern": "^[a-zA-Z0-9_-]*$",
1813 "description": "The field name/meta_key used to save and load data (empty for layout fields like tab, accordion)"
1814 },
1815 "aria-label": {
1816 "type": "string",
1817 "description": "Accessible label for screen readers"
1818 },
1819 "type": {
1820 "type": "string",
1821 "enum": [
1822 "nav_menu"
1823 ],
1824 "description": "The type of field"
1825 },
1826 "instructions": {
1827 "type": "string",
1828 "description": "Instructions for content editors"
1829 },
1830 "required": {
1831 "type": [
1832 "boolean",
1833 "integer"
1834 ],
1835 "default": false,
1836 "description": "Whether the field is required"
1837 },
1838 "conditional_logic": {
1839 "type": [
1840 "boolean",
1841 "integer",
1842 "string",
1843 "array"
1844 ],
1845 "default": 0,
1846 "description": "Conditional logic rules for field visibility. False/0/empty string to disable, or array of rule groups."
1847 },
1848 "wrapper": {
1849 "type": "object",
1850 "additionalProperties": false,
1851 "properties": {
1852 "width": {
1853 "type": "string",
1854 "description": "Width of the field wrapper (e.g. '50' for 50%)"
1855 },
1856 "class": {
1857 "type": "string",
1858 "description": "CSS class(es) for the field wrapper"
1859 },
1860 "id": {
1861 "type": "string",
1862 "description": "HTML ID for the field wrapper"
1863 }
1864 },
1865 "description": "Wrapper element settings"
1866 },
1867 "menu_order": {
1868 "type": "integer",
1869 "description": "Order of the field within its parent"
1870 },
1871 "parent": {
1872 "type": [
1873 "string",
1874 "integer"
1875 ],
1876 "description": "Parent field or field group key/ID"
1877 },
1878 "parent_layout": {
1879 "type": "string",
1880 "description": "Parent layout key for flexible content sub-fields"
1881 },
1882 "allow_null": {
1883 "$ref": "#/definitions/allow_null"
1884 },
1885 "save_format": {
1886 "type": "string",
1887 "enum": [
1888 "id",
1889 "object",
1890 "menu"
1891 ],
1892 "default": "id",
1893 "description": "Return format (ID, Nav Menu object, or rendered HTML)"
1894 },
1895 "container": {
1896 "type": "string",
1897 "default": "div",
1898 "description": "HTML container element for menu when returning HTML"
1899 }
1900 },
1901 "additionalProperties": false
1902 },
1903 {
1904 "type": "object",
1905 "required": [
1906 "key",
1907 "label",
1908 "name",
1909 "type"
1910 ],
1911 "properties": {
1912 "key": {
1913 "type": "string",
1914 "pattern": "^field_.+$",
1915 "minLength": 1,
1916 "description": "Unique identifier for the field with field_ prefix (e.g. 'field_abc123')"
1917 },
1918 "label": {
1919 "type": "string",
1920 "minLength": 1,
1921 "description": "The label displayed for this field"
1922 },
1923 "name": {
1924 "type": "string",
1925 "pattern": "^[a-zA-Z0-9_-]*$",
1926 "description": "The field name/meta_key used to save and load data (empty for layout fields like tab, accordion)"
1927 },
1928 "aria-label": {
1929 "type": "string",
1930 "description": "Accessible label for screen readers"
1931 },
1932 "type": {
1933 "type": "string",
1934 "enum": [
1935 "radio"
1936 ],
1937 "description": "The type of field"
1938 },
1939 "instructions": {
1940 "type": "string",
1941 "description": "Instructions for content editors"
1942 },
1943 "required": {
1944 "type": [
1945 "boolean",
1946 "integer"
1947 ],
1948 "default": false,
1949 "description": "Whether the field is required"
1950 },
1951 "conditional_logic": {
1952 "type": [
1953 "boolean",
1954 "integer",
1955 "string",
1956 "array"
1957 ],
1958 "default": 0,
1959 "description": "Conditional logic rules for field visibility. False/0/empty string to disable, or array of rule groups."
1960 },
1961 "wrapper": {
1962 "type": "object",
1963 "additionalProperties": false,
1964 "properties": {
1965 "width": {
1966 "type": "string",
1967 "description": "Width of the field wrapper (e.g. '50' for 50%)"
1968 },
1969 "class": {
1970 "type": "string",
1971 "description": "CSS class(es) for the field wrapper"
1972 },
1973 "id": {
1974 "type": "string",
1975 "description": "HTML ID for the field wrapper"
1976 }
1977 },
1978 "description": "Wrapper element settings"
1979 },
1980 "menu_order": {
1981 "type": "integer",
1982 "description": "Order of the field within its parent"
1983 },
1984 "parent": {
1985 "type": [
1986 "string",
1987 "integer"
1988 ],
1989 "description": "Parent field or field group key/ID"
1990 },
1991 "parent_layout": {
1992 "type": "string",
1993 "description": "Parent layout key for flexible content sub-fields"
1994 },
1995 "choices": {
1996 "$ref": "#/definitions/choices"
1997 },
1998 "default_value": {
1999 "$ref": "#/definitions/default_value"
2000 },
2001 "return_format": {
2002 "$ref": "#/definitions/return_format_choice"
2003 },
2004 "layout": {
2005 "$ref": "#/definitions/layout_choice"
2006 },
2007 "allow_null": {
2008 "$ref": "#/definitions/allow_null"
2009 },
2010 "other_choice": {
2011 "type": "integer",
2012 "default": 0,
2013 "description": "Add an other choice with text input (1 for yes, 0 for no)"
2014 },
2015 "save_other_choice": {
2016 "type": "integer",
2017 "default": 0,
2018 "description": "Save other choice values to the field choices (1 for yes, 0 for no)"
2019 }
2020 },
2021 "additionalProperties": false
2022 },
2023 {
2024 "type": "object",
2025 "required": [
2026 "key",
2027 "label",
2028 "name",
2029 "type"
2030 ],
2031 "properties": {
2032 "key": {
2033 "type": "string",
2034 "pattern": "^field_.+$",
2035 "minLength": 1,
2036 "description": "Unique identifier for the field with field_ prefix (e.g. 'field_abc123')"
2037 },
2038 "label": {
2039 "type": "string",
2040 "minLength": 1,
2041 "description": "The label displayed for this field"
2042 },
2043 "name": {
2044 "type": "string",
2045 "pattern": "^[a-zA-Z0-9_-]*$",
2046 "description": "The field name/meta_key used to save and load data (empty for layout fields like tab, accordion)"
2047 },
2048 "aria-label": {
2049 "type": "string",
2050 "description": "Accessible label for screen readers"
2051 },
2052 "type": {
2053 "type": "string",
2054 "enum": [
2055 "select"
2056 ],
2057 "description": "The type of field"
2058 },
2059 "instructions": {
2060 "type": "string",
2061 "description": "Instructions for content editors"
2062 },
2063 "required": {
2064 "type": [
2065 "boolean",
2066 "integer"
2067 ],
2068 "default": false,
2069 "description": "Whether the field is required"
2070 },
2071 "conditional_logic": {
2072 "type": [
2073 "boolean",
2074 "integer",
2075 "string",
2076 "array"
2077 ],
2078 "default": 0,
2079 "description": "Conditional logic rules for field visibility. False/0/empty string to disable, or array of rule groups."
2080 },
2081 "wrapper": {
2082 "type": "object",
2083 "additionalProperties": false,
2084 "properties": {
2085 "width": {
2086 "type": "string",
2087 "description": "Width of the field wrapper (e.g. '50' for 50%)"
2088 },
2089 "class": {
2090 "type": "string",
2091 "description": "CSS class(es) for the field wrapper"
2092 },
2093 "id": {
2094 "type": "string",
2095 "description": "HTML ID for the field wrapper"
2096 }
2097 },
2098 "description": "Wrapper element settings"
2099 },
2100 "menu_order": {
2101 "type": "integer",
2102 "description": "Order of the field within its parent"
2103 },
2104 "parent": {
2105 "type": [
2106 "string",
2107 "integer"
2108 ],
2109 "description": "Parent field or field group key/ID"
2110 },
2111 "parent_layout": {
2112 "type": "string",
2113 "description": "Parent layout key for flexible content sub-fields"
2114 },
2115 "choices": {
2116 "$ref": "#/definitions/choices"
2117 },
2118 "default_value": {
2119 "$ref": "#/definitions/default_value_multi"
2120 },
2121 "return_format": {
2122 "$ref": "#/definitions/return_format_choice"
2123 },
2124 "multiple": {
2125 "$ref": "#/definitions/multiple"
2126 },
2127 "allow_null": {
2128 "$ref": "#/definitions/allow_null"
2129 },
2130 "placeholder": {
2131 "$ref": "#/definitions/placeholder"
2132 },
2133 "ui": {
2134 "type": "integer",
2135 "default": 0,
2136 "description": "Use enhanced Select2 UI (1 for yes, 0 for no)"
2137 },
2138 "ajax": {
2139 "type": "integer",
2140 "default": 0,
2141 "description": "Use AJAX to lazy load choices (1 for yes, 0 for no)"
2142 },
2143 "create_options": {
2144 "type": "integer",
2145 "default": 0,
2146 "description": "Allow new options to be created while editing (1 for yes, 0 for no)"
2147 },
2148 "save_options": {
2149 "type": "integer",
2150 "default": 0,
2151 "description": "Save newly created options to the field choices (1 for yes, 0 for no)"
2152 }
2153 },
2154 "additionalProperties": false
2155 },
2156 {
2157 "type": "object",
2158 "required": [
2159 "key",
2160 "label",
2161 "name",
2162 "type"
2163 ],
2164 "properties": {
2165 "key": {
2166 "type": "string",
2167 "pattern": "^field_.+$",
2168 "minLength": 1,
2169 "description": "Unique identifier for the field with field_ prefix (e.g. 'field_abc123')"
2170 },
2171 "label": {
2172 "type": "string",
2173 "minLength": 1,
2174 "description": "The label displayed for this field"
2175 },
2176 "name": {
2177 "type": "string",
2178 "pattern": "^[a-zA-Z0-9_-]*$",
2179 "description": "The field name/meta_key used to save and load data (empty for layout fields like tab, accordion)"
2180 },
2181 "aria-label": {
2182 "type": "string",
2183 "description": "Accessible label for screen readers"
2184 },
2185 "type": {
2186 "type": "string",
2187 "enum": [
2188 "true_false"
2189 ],
2190 "description": "The type of field"
2191 },
2192 "instructions": {
2193 "type": "string",
2194 "description": "Instructions for content editors"
2195 },
2196 "required": {
2197 "type": [
2198 "boolean",
2199 "integer"
2200 ],
2201 "default": false,
2202 "description": "Whether the field is required"
2203 },
2204 "conditional_logic": {
2205 "type": [
2206 "boolean",
2207 "integer",
2208 "string",
2209 "array"
2210 ],
2211 "default": 0,
2212 "description": "Conditional logic rules for field visibility. False/0/empty string to disable, or array of rule groups."
2213 },
2214 "wrapper": {
2215 "type": "object",
2216 "additionalProperties": false,
2217 "properties": {
2218 "width": {
2219 "type": "string",
2220 "description": "Width of the field wrapper (e.g. '50' for 50%)"
2221 },
2222 "class": {
2223 "type": "string",
2224 "description": "CSS class(es) for the field wrapper"
2225 },
2226 "id": {
2227 "type": "string",
2228 "description": "HTML ID for the field wrapper"
2229 }
2230 },
2231 "description": "Wrapper element settings"
2232 },
2233 "menu_order": {
2234 "type": "integer",
2235 "description": "Order of the field within its parent"
2236 },
2237 "parent": {
2238 "type": [
2239 "string",
2240 "integer"
2241 ],
2242 "description": "Parent field or field group key/ID"
2243 },
2244 "parent_layout": {
2245 "type": "string",
2246 "description": "Parent layout key for flexible content sub-fields"
2247 },
2248 "default_value": {
2249 "type": "integer",
2250 "default": 0,
2251 "description": "Default state (0 for off, 1 for on)"
2252 },
2253 "message": {
2254 "type": "string",
2255 "default": "",
2256 "description": "Text displayed alongside the checkbox"
2257 },
2258 "ui": {
2259 "type": "integer",
2260 "default": 0,
2261 "description": "Use stylized toggle UI (1 for yes, 0 for no)"
2262 },
2263 "ui_on_text": {
2264 "type": "string",
2265 "default": "",
2266 "description": "Text shown when toggle is on (empty for default 'Yes')"
2267 },
2268 "ui_off_text": {
2269 "type": "string",
2270 "default": "",
2271 "description": "Text shown when toggle is off (empty for default 'No')"
2272 }
2273 },
2274 "additionalProperties": false
2275 },
2276 {
2277 "type": "object",
2278 "required": [
2279 "key",
2280 "label",
2281 "name",
2282 "type"
2283 ],
2284 "properties": {
2285 "key": {
2286 "type": "string",
2287 "pattern": "^field_.+$",
2288 "minLength": 1,
2289 "description": "Unique identifier for the field with field_ prefix (e.g. 'field_abc123')"
2290 },
2291 "label": {
2292 "type": "string",
2293 "minLength": 1,
2294 "description": "The label displayed for this field"
2295 },
2296 "name": {
2297 "type": "string",
2298 "pattern": "^[a-zA-Z0-9_-]*$",
2299 "description": "The field name/meta_key used to save and load data (empty for layout fields like tab, accordion)"
2300 },
2301 "aria-label": {
2302 "type": "string",
2303 "description": "Accessible label for screen readers"
2304 },
2305 "type": {
2306 "type": "string",
2307 "enum": [
2308 "file"
2309 ],
2310 "description": "The type of field"
2311 },
2312 "instructions": {
2313 "type": "string",
2314 "description": "Instructions for content editors"
2315 },
2316 "required": {
2317 "type": [
2318 "boolean",
2319 "integer"
2320 ],
2321 "default": false,
2322 "description": "Whether the field is required"
2323 },
2324 "conditional_logic": {
2325 "type": [
2326 "boolean",
2327 "integer",
2328 "string",
2329 "array"
2330 ],
2331 "default": 0,
2332 "description": "Conditional logic rules for field visibility. False/0/empty string to disable, or array of rule groups."
2333 },
2334 "wrapper": {
2335 "type": "object",
2336 "additionalProperties": false,
2337 "properties": {
2338 "width": {
2339 "type": "string",
2340 "description": "Width of the field wrapper (e.g. '50' for 50%)"
2341 },
2342 "class": {
2343 "type": "string",
2344 "description": "CSS class(es) for the field wrapper"
2345 },
2346 "id": {
2347 "type": "string",
2348 "description": "HTML ID for the field wrapper"
2349 }
2350 },
2351 "description": "Wrapper element settings"
2352 },
2353 "menu_order": {
2354 "type": "integer",
2355 "description": "Order of the field within its parent"
2356 },
2357 "parent": {
2358 "type": [
2359 "string",
2360 "integer"
2361 ],
2362 "description": "Parent field or field group key/ID"
2363 },
2364 "parent_layout": {
2365 "type": "string",
2366 "description": "Parent layout key for flexible content sub-fields"
2367 },
2368 "return_format": {
2369 "$ref": "#/definitions/return_format_media"
2370 },
2371 "library": {
2372 "$ref": "#/definitions/library"
2373 },
2374 "min_size": {
2375 "$ref": "#/definitions/min_size"
2376 },
2377 "max_size": {
2378 "$ref": "#/definitions/max_size"
2379 },
2380 "mime_types": {
2381 "$ref": "#/definitions/mime_types"
2382 }
2383 },
2384 "additionalProperties": false
2385 },
2386 {
2387 "type": "object",
2388 "required": [
2389 "key",
2390 "label",
2391 "name",
2392 "type"
2393 ],
2394 "properties": {
2395 "key": {
2396 "type": "string",
2397 "pattern": "^field_.+$",
2398 "minLength": 1,
2399 "description": "Unique identifier for the field with field_ prefix (e.g. 'field_abc123')"
2400 },
2401 "label": {
2402 "type": "string",
2403 "minLength": 1,
2404 "description": "The label displayed for this field"
2405 },
2406 "name": {
2407 "type": "string",
2408 "pattern": "^[a-zA-Z0-9_-]*$",
2409 "description": "The field name/meta_key used to save and load data (empty for layout fields like tab, accordion)"
2410 },
2411 "aria-label": {
2412 "type": "string",
2413 "description": "Accessible label for screen readers"
2414 },
2415 "type": {
2416 "type": "string",
2417 "enum": [
2418 "gallery"
2419 ],
2420 "description": "The type of field"
2421 },
2422 "instructions": {
2423 "type": "string",
2424 "description": "Instructions for content editors"
2425 },
2426 "required": {
2427 "type": [
2428 "boolean",
2429 "integer"
2430 ],
2431 "default": false,
2432 "description": "Whether the field is required"
2433 },
2434 "conditional_logic": {
2435 "type": [
2436 "boolean",
2437 "integer",
2438 "string",
2439 "array"
2440 ],
2441 "default": 0,
2442 "description": "Conditional logic rules for field visibility. False/0/empty string to disable, or array of rule groups."
2443 },
2444 "wrapper": {
2445 "type": "object",
2446 "additionalProperties": false,
2447 "properties": {
2448 "width": {
2449 "type": "string",
2450 "description": "Width of the field wrapper (e.g. '50' for 50%)"
2451 },
2452 "class": {
2453 "type": "string",
2454 "description": "CSS class(es) for the field wrapper"
2455 },
2456 "id": {
2457 "type": "string",
2458 "description": "HTML ID for the field wrapper"
2459 }
2460 },
2461 "description": "Wrapper element settings"
2462 },
2463 "menu_order": {
2464 "type": "integer",
2465 "description": "Order of the field within its parent"
2466 },
2467 "parent": {
2468 "type": [
2469 "string",
2470 "integer"
2471 ],
2472 "description": "Parent field or field group key/ID"
2473 },
2474 "parent_layout": {
2475 "type": "string",
2476 "description": "Parent layout key for flexible content sub-fields"
2477 },
2478 "return_format": {
2479 "$ref": "#/definitions/return_format_media"
2480 },
2481 "preview_size": {
2482 "$ref": "#/definitions/preview_size"
2483 },
2484 "library": {
2485 "$ref": "#/definitions/library"
2486 },
2487 "min_width": {
2488 "$ref": "#/definitions/min_width"
2489 },
2490 "min_height": {
2491 "$ref": "#/definitions/min_height"
2492 },
2493 "min_size": {
2494 "$ref": "#/definitions/min_size"
2495 },
2496 "max_width": {
2497 "$ref": "#/definitions/max_width"
2498 },
2499 "max_height": {
2500 "$ref": "#/definitions/max_height"
2501 },
2502 "max_size": {
2503 "$ref": "#/definitions/max_size"
2504 },
2505 "mime_types": {
2506 "$ref": "#/definitions/mime_types"
2507 },
2508 "min": {
2509 "$ref": "#/definitions/min"
2510 },
2511 "max": {
2512 "$ref": "#/definitions/max"
2513 },
2514 "insert": {
2515 "type": "string",
2516 "enum": [
2517 "append",
2518 "prepend"
2519 ],
2520 "default": "append",
2521 "description": "Where to insert new images (append or prepend)"
2522 }
2523 },
2524 "additionalProperties": false
2525 },
2526 {
2527 "type": "object",
2528 "required": [
2529 "key",
2530 "label",
2531 "name",
2532 "type"
2533 ],
2534 "properties": {
2535 "key": {
2536 "type": "string",
2537 "pattern": "^field_.+$",
2538 "minLength": 1,
2539 "description": "Unique identifier for the field with field_ prefix (e.g. 'field_abc123')"
2540 },
2541 "label": {
2542 "type": "string",
2543 "minLength": 1,
2544 "description": "The label displayed for this field"
2545 },
2546 "name": {
2547 "type": "string",
2548 "pattern": "^[a-zA-Z0-9_-]*$",
2549 "description": "The field name/meta_key used to save and load data (empty for layout fields like tab, accordion)"
2550 },
2551 "aria-label": {
2552 "type": "string",
2553 "description": "Accessible label for screen readers"
2554 },
2555 "type": {
2556 "type": "string",
2557 "enum": [
2558 "image"
2559 ],
2560 "description": "The type of field"
2561 },
2562 "instructions": {
2563 "type": "string",
2564 "description": "Instructions for content editors"
2565 },
2566 "required": {
2567 "type": [
2568 "boolean",
2569 "integer"
2570 ],
2571 "default": false,
2572 "description": "Whether the field is required"
2573 },
2574 "conditional_logic": {
2575 "type": [
2576 "boolean",
2577 "integer",
2578 "string",
2579 "array"
2580 ],
2581 "default": 0,
2582 "description": "Conditional logic rules for field visibility. False/0/empty string to disable, or array of rule groups."
2583 },
2584 "wrapper": {
2585 "type": "object",
2586 "additionalProperties": false,
2587 "properties": {
2588 "width": {
2589 "type": "string",
2590 "description": "Width of the field wrapper (e.g. '50' for 50%)"
2591 },
2592 "class": {
2593 "type": "string",
2594 "description": "CSS class(es) for the field wrapper"
2595 },
2596 "id": {
2597 "type": "string",
2598 "description": "HTML ID for the field wrapper"
2599 }
2600 },
2601 "description": "Wrapper element settings"
2602 },
2603 "menu_order": {
2604 "type": "integer",
2605 "description": "Order of the field within its parent"
2606 },
2607 "parent": {
2608 "type": [
2609 "string",
2610 "integer"
2611 ],
2612 "description": "Parent field or field group key/ID"
2613 },
2614 "parent_layout": {
2615 "type": "string",
2616 "description": "Parent layout key for flexible content sub-fields"
2617 },
2618 "return_format": {
2619 "$ref": "#/definitions/return_format_media"
2620 },
2621 "preview_size": {
2622 "$ref": "#/definitions/preview_size"
2623 },
2624 "library": {
2625 "$ref": "#/definitions/library"
2626 },
2627 "min_width": {
2628 "$ref": "#/definitions/min_width"
2629 },
2630 "min_height": {
2631 "$ref": "#/definitions/min_height"
2632 },
2633 "min_size": {
2634 "$ref": "#/definitions/min_size"
2635 },
2636 "max_width": {
2637 "$ref": "#/definitions/max_width"
2638 },
2639 "max_height": {
2640 "$ref": "#/definitions/max_height"
2641 },
2642 "max_size": {
2643 "$ref": "#/definitions/max_size"
2644 },
2645 "mime_types": {
2646 "$ref": "#/definitions/mime_types"
2647 }
2648 },
2649 "additionalProperties": false
2650 },
2651 {
2652 "type": "object",
2653 "required": [
2654 "key",
2655 "label",
2656 "name",
2657 "type"
2658 ],
2659 "properties": {
2660 "key": {
2661 "type": "string",
2662 "pattern": "^field_.+$",
2663 "minLength": 1,
2664 "description": "Unique identifier for the field with field_ prefix (e.g. 'field_abc123')"
2665 },
2666 "label": {
2667 "type": "string",
2668 "minLength": 1,
2669 "description": "The label displayed for this field"
2670 },
2671 "name": {
2672 "type": "string",
2673 "pattern": "^[a-zA-Z0-9_-]*$",
2674 "description": "The field name/meta_key used to save and load data (empty for layout fields like tab, accordion)"
2675 },
2676 "aria-label": {
2677 "type": "string",
2678 "description": "Accessible label for screen readers"
2679 },
2680 "type": {
2681 "type": "string",
2682 "enum": [
2683 "oembed"
2684 ],
2685 "description": "The type of field"
2686 },
2687 "instructions": {
2688 "type": "string",
2689 "description": "Instructions for content editors"
2690 },
2691 "required": {
2692 "type": [
2693 "boolean",
2694 "integer"
2695 ],
2696 "default": false,
2697 "description": "Whether the field is required"
2698 },
2699 "conditional_logic": {
2700 "type": [
2701 "boolean",
2702 "integer",
2703 "string",
2704 "array"
2705 ],
2706 "default": 0,
2707 "description": "Conditional logic rules for field visibility. False/0/empty string to disable, or array of rule groups."
2708 },
2709 "wrapper": {
2710 "type": "object",
2711 "additionalProperties": false,
2712 "properties": {
2713 "width": {
2714 "type": "string",
2715 "description": "Width of the field wrapper (e.g. '50' for 50%)"
2716 },
2717 "class": {
2718 "type": "string",
2719 "description": "CSS class(es) for the field wrapper"
2720 },
2721 "id": {
2722 "type": "string",
2723 "description": "HTML ID for the field wrapper"
2724 }
2725 },
2726 "description": "Wrapper element settings"
2727 },
2728 "menu_order": {
2729 "type": "integer",
2730 "description": "Order of the field within its parent"
2731 },
2732 "parent": {
2733 "type": [
2734 "string",
2735 "integer"
2736 ],
2737 "description": "Parent field or field group key/ID"
2738 },
2739 "parent_layout": {
2740 "type": "string",
2741 "description": "Parent layout key for flexible content sub-fields"
2742 },
2743 "width": {
2744 "type": "string",
2745 "default": "",
2746 "description": "Maximum width of embedded content in pixels (empty for default)"
2747 },
2748 "height": {
2749 "type": "string",
2750 "default": "",
2751 "description": "Maximum height of embedded content in pixels (empty for default)"
2752 }
2753 },
2754 "additionalProperties": false
2755 },
2756 {
2757 "type": "object",
2758 "required": [
2759 "key",
2760 "label",
2761 "name",
2762 "type"
2763 ],
2764 "properties": {
2765 "key": {
2766 "type": "string",
2767 "pattern": "^field_.+$",
2768 "minLength": 1,
2769 "description": "Unique identifier for the field with field_ prefix (e.g. 'field_abc123')"
2770 },
2771 "label": {
2772 "type": "string",
2773 "minLength": 1,
2774 "description": "The label displayed for this field"
2775 },
2776 "name": {
2777 "type": "string",
2778 "pattern": "^[a-zA-Z0-9_-]*$",
2779 "description": "The field name/meta_key used to save and load data (empty for layout fields like tab, accordion)"
2780 },
2781 "aria-label": {
2782 "type": "string",
2783 "description": "Accessible label for screen readers"
2784 },
2785 "type": {
2786 "type": "string",
2787 "enum": [
2788 "wysiwyg"
2789 ],
2790 "description": "The type of field"
2791 },
2792 "instructions": {
2793 "type": "string",
2794 "description": "Instructions for content editors"
2795 },
2796 "required": {
2797 "type": [
2798 "boolean",
2799 "integer"
2800 ],
2801 "default": false,
2802 "description": "Whether the field is required"
2803 },
2804 "conditional_logic": {
2805 "type": [
2806 "boolean",
2807 "integer",
2808 "string",
2809 "array"
2810 ],
2811 "default": 0,
2812 "description": "Conditional logic rules for field visibility. False/0/empty string to disable, or array of rule groups."
2813 },
2814 "wrapper": {
2815 "type": "object",
2816 "additionalProperties": false,
2817 "properties": {
2818 "width": {
2819 "type": "string",
2820 "description": "Width of the field wrapper (e.g. '50' for 50%)"
2821 },
2822 "class": {
2823 "type": "string",
2824 "description": "CSS class(es) for the field wrapper"
2825 },
2826 "id": {
2827 "type": "string",
2828 "description": "HTML ID for the field wrapper"
2829 }
2830 },
2831 "description": "Wrapper element settings"
2832 },
2833 "menu_order": {
2834 "type": "integer",
2835 "description": "Order of the field within its parent"
2836 },
2837 "parent": {
2838 "type": [
2839 "string",
2840 "integer"
2841 ],
2842 "description": "Parent field or field group key/ID"
2843 },
2844 "parent_layout": {
2845 "type": "string",
2846 "description": "Parent layout key for flexible content sub-fields"
2847 },
2848 "default_value": {
2849 "$ref": "#/definitions/default_value"
2850 },
2851 "tabs": {
2852 "type": "string",
2853 "enum": [
2854 "all",
2855 "visual",
2856 "text"
2857 ],
2858 "default": "all",
2859 "description": "Which editor tabs to show (all, visual only, or text only)"
2860 },
2861 "toolbar": {
2862 "type": "string",
2863 "default": "full",
2864 "description": "Toolbar configuration (full or basic)"
2865 },
2866 "media_upload": {
2867 "type": "integer",
2868 "default": 1,
2869 "description": "Show media upload button (1 for yes, 0 for no)"
2870 },
2871 "delay": {
2872 "type": "integer",
2873 "default": 0,
2874 "description": "Delay TinyMCE initialization until field is clicked (1 for yes, 0 for no)"
2875 }
2876 },
2877 "additionalProperties": false
2878 },
2879 {
2880 "type": "object",
2881 "required": [
2882 "key",
2883 "label",
2884 "name",
2885 "type"
2886 ],
2887 "properties": {
2888 "key": {
2889 "type": "string",
2890 "pattern": "^field_.+$",
2891 "minLength": 1,
2892 "description": "Unique identifier for the field with field_ prefix (e.g. 'field_abc123')"
2893 },
2894 "label": {
2895 "type": "string",
2896 "minLength": 1,
2897 "description": "The label displayed for this field"
2898 },
2899 "name": {
2900 "type": "string",
2901 "pattern": "^[a-zA-Z0-9_-]*$",
2902 "description": "The field name/meta_key used to save and load data (empty for layout fields like tab, accordion)"
2903 },
2904 "aria-label": {
2905 "type": "string",
2906 "description": "Accessible label for screen readers"
2907 },
2908 "type": {
2909 "type": "string",
2910 "enum": [
2911 "accordion"
2912 ],
2913 "description": "The type of field"
2914 },
2915 "instructions": {
2916 "type": "string",
2917 "description": "Instructions for content editors"
2918 },
2919 "required": {
2920 "type": [
2921 "boolean",
2922 "integer"
2923 ],
2924 "default": false,
2925 "description": "Whether the field is required"
2926 },
2927 "conditional_logic": {
2928 "type": [
2929 "boolean",
2930 "integer",
2931 "string",
2932 "array"
2933 ],
2934 "default": 0,
2935 "description": "Conditional logic rules for field visibility. False/0/empty string to disable, or array of rule groups."
2936 },
2937 "wrapper": {
2938 "type": "object",
2939 "additionalProperties": false,
2940 "properties": {
2941 "width": {
2942 "type": "string",
2943 "description": "Width of the field wrapper (e.g. '50' for 50%)"
2944 },
2945 "class": {
2946 "type": "string",
2947 "description": "CSS class(es) for the field wrapper"
2948 },
2949 "id": {
2950 "type": "string",
2951 "description": "HTML ID for the field wrapper"
2952 }
2953 },
2954 "description": "Wrapper element settings"
2955 },
2956 "menu_order": {
2957 "type": "integer",
2958 "description": "Order of the field within its parent"
2959 },
2960 "parent": {
2961 "type": [
2962 "string",
2963 "integer"
2964 ],
2965 "description": "Parent field or field group key/ID"
2966 },
2967 "parent_layout": {
2968 "type": "string",
2969 "description": "Parent layout key for flexible content sub-fields"
2970 },
2971 "open": {
2972 "type": "integer",
2973 "default": 0,
2974 "description": "Display this accordion as open on page load"
2975 },
2976 "multi_expand": {
2977 "type": "integer",
2978 "default": 0,
2979 "description": "Allow this accordion to open without closing others"
2980 },
2981 "endpoint": {
2982 "$ref": "#/definitions/endpoint"
2983 }
2984 },
2985 "additionalProperties": false
2986 },
2987 {
2988 "type": "object",
2989 "required": [
2990 "key",
2991 "label",
2992 "name",
2993 "type"
2994 ],
2995 "properties": {
2996 "key": {
2997 "type": "string",
2998 "pattern": "^field_.+$",
2999 "minLength": 1,
3000 "description": "Unique identifier for the field with field_ prefix (e.g. 'field_abc123')"
3001 },
3002 "label": {
3003 "type": "string",
3004 "minLength": 1,
3005 "description": "The label displayed for this field"
3006 },
3007 "name": {
3008 "type": "string",
3009 "pattern": "^[a-zA-Z0-9_-]*$",
3010 "description": "The field name/meta_key used to save and load data (empty for layout fields like tab, accordion)"
3011 },
3012 "aria-label": {
3013 "type": "string",
3014 "description": "Accessible label for screen readers"
3015 },
3016 "type": {
3017 "type": "string",
3018 "enum": [
3019 "clone"
3020 ],
3021 "description": "The type of field"
3022 },
3023 "instructions": {
3024 "type": "string",
3025 "description": "Instructions for content editors"
3026 },
3027 "required": {
3028 "type": [
3029 "boolean",
3030 "integer"
3031 ],
3032 "default": false,
3033 "description": "Whether the field is required"
3034 },
3035 "conditional_logic": {
3036 "type": [
3037 "boolean",
3038 "integer",
3039 "string",
3040 "array"
3041 ],
3042 "default": 0,
3043 "description": "Conditional logic rules for field visibility. False/0/empty string to disable, or array of rule groups."
3044 },
3045 "wrapper": {
3046 "type": "object",
3047 "additionalProperties": false,
3048 "properties": {
3049 "width": {
3050 "type": "string",
3051 "description": "Width of the field wrapper (e.g. '50' for 50%)"
3052 },
3053 "class": {
3054 "type": "string",
3055 "description": "CSS class(es) for the field wrapper"
3056 },
3057 "id": {
3058 "type": "string",
3059 "description": "HTML ID for the field wrapper"
3060 }
3061 },
3062 "description": "Wrapper element settings"
3063 },
3064 "menu_order": {
3065 "type": "integer",
3066 "description": "Order of the field within its parent"
3067 },
3068 "parent": {
3069 "type": [
3070 "string",
3071 "integer"
3072 ],
3073 "description": "Parent field or field group key/ID"
3074 },
3075 "parent_layout": {
3076 "type": "string",
3077 "description": "Parent layout key for flexible content sub-fields"
3078 },
3079 "clone": {
3080 "type": [
3081 "string",
3082 "array"
3083 ],
3084 "default": "",
3085 "description": "Field keys or group keys to clone"
3086 },
3087 "prefix_label": {
3088 "type": "integer",
3089 "default": 0,
3090 "description": "Prefix cloned field labels with this field's label"
3091 },
3092 "prefix_name": {
3093 "type": "integer",
3094 "default": 0,
3095 "description": "Prefix cloned field names with this field's name"
3096 },
3097 "display": {
3098 "type": "string",
3099 "enum": [
3100 "group",
3101 "seamless"
3102 ],
3103 "default": "seamless",
3104 "description": "Display style for cloned fields"
3105 },
3106 "layout": {
3107 "$ref": "#/definitions/layout_display",
3108 "default": "block"
3109 }
3110 },
3111 "additionalProperties": false
3112 },
3113 {
3114 "type": "object",
3115 "required": [
3116 "key",
3117 "label",
3118 "name",
3119 "type"
3120 ],
3121 "properties": {
3122 "key": {
3123 "type": "string",
3124 "pattern": "^field_.+$",
3125 "minLength": 1,
3126 "description": "Unique identifier for the field with field_ prefix (e.g. 'field_abc123')"
3127 },
3128 "label": {
3129 "type": "string",
3130 "minLength": 1,
3131 "description": "The label displayed for this field"
3132 },
3133 "name": {
3134 "type": "string",
3135 "pattern": "^[a-zA-Z0-9_-]*$",
3136 "description": "The field name/meta_key used to save and load data (empty for layout fields like tab, accordion)"
3137 },
3138 "aria-label": {
3139 "type": "string",
3140 "description": "Accessible label for screen readers"
3141 },
3142 "type": {
3143 "type": "string",
3144 "enum": [
3145 "flexible_content"
3146 ],
3147 "description": "The type of field"
3148 },
3149 "instructions": {
3150 "type": "string",
3151 "description": "Instructions for content editors"
3152 },
3153 "required": {
3154 "type": [
3155 "boolean",
3156 "integer"
3157 ],
3158 "default": false,
3159 "description": "Whether the field is required"
3160 },
3161 "conditional_logic": {
3162 "type": [
3163 "boolean",
3164 "integer",
3165 "string",
3166 "array"
3167 ],
3168 "default": 0,
3169 "description": "Conditional logic rules for field visibility. False/0/empty string to disable, or array of rule groups."
3170 },
3171 "wrapper": {
3172 "type": "object",
3173 "additionalProperties": false,
3174 "properties": {
3175 "width": {
3176 "type": "string",
3177 "description": "Width of the field wrapper (e.g. '50' for 50%)"
3178 },
3179 "class": {
3180 "type": "string",
3181 "description": "CSS class(es) for the field wrapper"
3182 },
3183 "id": {
3184 "type": "string",
3185 "description": "HTML ID for the field wrapper"
3186 }
3187 },
3188 "description": "Wrapper element settings"
3189 },
3190 "menu_order": {
3191 "type": "integer",
3192 "description": "Order of the field within its parent"
3193 },
3194 "parent": {
3195 "type": [
3196 "string",
3197 "integer"
3198 ],
3199 "description": "Parent field or field group key/ID"
3200 },
3201 "parent_layout": {
3202 "type": "string",
3203 "description": "Parent layout key for flexible content sub-fields"
3204 },
3205 "layouts": {
3206 "type": "array",
3207 "default": [],
3208 "description": "Available layout configurations"
3209 },
3210 "min": {
3211 "type": [
3212 "integer",
3213 "string"
3214 ],
3215 "default": "",
3216 "description": "Minimum number of layouts (empty for no limit)"
3217 },
3218 "max": {
3219 "type": [
3220 "integer",
3221 "string"
3222 ],
3223 "default": "",
3224 "description": "Maximum number of layouts (empty for no limit)"
3225 },
3226 "button_label": {
3227 "type": "string",
3228 "default": "Add Row",
3229 "description": "Text label for the add row button"
3230 }
3231 },
3232 "additionalProperties": false
3233 },
3234 {
3235 "type": "object",
3236 "required": [
3237 "key",
3238 "label",
3239 "name",
3240 "type"
3241 ],
3242 "properties": {
3243 "key": {
3244 "type": "string",
3245 "pattern": "^field_.+$",
3246 "minLength": 1,
3247 "description": "Unique identifier for the field with field_ prefix (e.g. 'field_abc123')"
3248 },
3249 "label": {
3250 "type": "string",
3251 "minLength": 1,
3252 "description": "The label displayed for this field"
3253 },
3254 "name": {
3255 "type": "string",
3256 "pattern": "^[a-zA-Z0-9_-]*$",
3257 "description": "The field name/meta_key used to save and load data (empty for layout fields like tab, accordion)"
3258 },
3259 "aria-label": {
3260 "type": "string",
3261 "description": "Accessible label for screen readers"
3262 },
3263 "type": {
3264 "type": "string",
3265 "enum": [
3266 "group"
3267 ],
3268 "description": "The type of field"
3269 },
3270 "instructions": {
3271 "type": "string",
3272 "description": "Instructions for content editors"
3273 },
3274 "required": {
3275 "type": [
3276 "boolean",
3277 "integer"
3278 ],
3279 "default": false,
3280 "description": "Whether the field is required"
3281 },
3282 "conditional_logic": {
3283 "type": [
3284 "boolean",
3285 "integer",
3286 "string",
3287 "array"
3288 ],
3289 "default": 0,
3290 "description": "Conditional logic rules for field visibility. False/0/empty string to disable, or array of rule groups."
3291 },
3292 "wrapper": {
3293 "type": "object",
3294 "additionalProperties": false,
3295 "properties": {
3296 "width": {
3297 "type": "string",
3298 "description": "Width of the field wrapper (e.g. '50' for 50%)"
3299 },
3300 "class": {
3301 "type": "string",
3302 "description": "CSS class(es) for the field wrapper"
3303 },
3304 "id": {
3305 "type": "string",
3306 "description": "HTML ID for the field wrapper"
3307 }
3308 },
3309 "description": "Wrapper element settings"
3310 },
3311 "menu_order": {
3312 "type": "integer",
3313 "description": "Order of the field within its parent"
3314 },
3315 "parent": {
3316 "type": [
3317 "string",
3318 "integer"
3319 ],
3320 "description": "Parent field or field group key/ID"
3321 },
3322 "parent_layout": {
3323 "type": "string",
3324 "description": "Parent layout key for flexible content sub-fields"
3325 },
3326 "sub_fields": {
3327 "$ref": "#/definitions/sub_fields"
3328 },
3329 "layout": {
3330 "$ref": "#/definitions/layout_display",
3331 "default": "block"
3332 }
3333 },
3334 "additionalProperties": false
3335 },
3336 {
3337 "type": "object",
3338 "required": [
3339 "key",
3340 "label",
3341 "name",
3342 "type"
3343 ],
3344 "properties": {
3345 "key": {
3346 "type": "string",
3347 "pattern": "^field_.+$",
3348 "minLength": 1,
3349 "description": "Unique identifier for the field with field_ prefix (e.g. 'field_abc123')"
3350 },
3351 "label": {
3352 "type": "string",
3353 "minLength": 1,
3354 "description": "The label displayed for this field"
3355 },
3356 "name": {
3357 "type": "string",
3358 "pattern": "^[a-zA-Z0-9_-]*$",
3359 "description": "The field name/meta_key used to save and load data (empty for layout fields like tab, accordion)"
3360 },
3361 "aria-label": {
3362 "type": "string",
3363 "description": "Accessible label for screen readers"
3364 },
3365 "type": {
3366 "type": "string",
3367 "enum": [
3368 "message"
3369 ],
3370 "description": "The type of field"
3371 },
3372 "instructions": {
3373 "type": "string",
3374 "description": "Instructions for content editors"
3375 },
3376 "required": {
3377 "type": [
3378 "boolean",
3379 "integer"
3380 ],
3381 "default": false,
3382 "description": "Whether the field is required"
3383 },
3384 "conditional_logic": {
3385 "type": [
3386 "boolean",
3387 "integer",
3388 "string",
3389 "array"
3390 ],
3391 "default": 0,
3392 "description": "Conditional logic rules for field visibility. False/0/empty string to disable, or array of rule groups."
3393 },
3394 "wrapper": {
3395 "type": "object",
3396 "additionalProperties": false,
3397 "properties": {
3398 "width": {
3399 "type": "string",
3400 "description": "Width of the field wrapper (e.g. '50' for 50%)"
3401 },
3402 "class": {
3403 "type": "string",
3404 "description": "CSS class(es) for the field wrapper"
3405 },
3406 "id": {
3407 "type": "string",
3408 "description": "HTML ID for the field wrapper"
3409 }
3410 },
3411 "description": "Wrapper element settings"
3412 },
3413 "menu_order": {
3414 "type": "integer",
3415 "description": "Order of the field within its parent"
3416 },
3417 "parent": {
3418 "type": [
3419 "string",
3420 "integer"
3421 ],
3422 "description": "Parent field or field group key/ID"
3423 },
3424 "parent_layout": {
3425 "type": "string",
3426 "description": "Parent layout key for flexible content sub-fields"
3427 },
3428 "message": {
3429 "type": "string",
3430 "default": "",
3431 "description": "Message content to display"
3432 },
3433 "esc_html": {
3434 "type": "integer",
3435 "default": 0,
3436 "description": "Display HTML as visible text instead of rendering"
3437 },
3438 "new_lines": {
3439 "type": "string",
3440 "enum": [
3441 "wpautop",
3442 "br",
3443 ""
3444 ],
3445 "default": "wpautop",
3446 "description": "Controls how new lines are rendered"
3447 }
3448 },
3449 "additionalProperties": false
3450 },
3451 {
3452 "type": "object",
3453 "required": [
3454 "key",
3455 "label",
3456 "name",
3457 "type"
3458 ],
3459 "properties": {
3460 "key": {
3461 "type": "string",
3462 "pattern": "^field_.+$",
3463 "minLength": 1,
3464 "description": "Unique identifier for the field with field_ prefix (e.g. 'field_abc123')"
3465 },
3466 "label": {
3467 "type": "string",
3468 "minLength": 1,
3469 "description": "The label displayed for this field"
3470 },
3471 "name": {
3472 "type": "string",
3473 "pattern": "^[a-zA-Z0-9_-]*$",
3474 "description": "The field name/meta_key used to save and load data (empty for layout fields like tab, accordion)"
3475 },
3476 "aria-label": {
3477 "type": "string",
3478 "description": "Accessible label for screen readers"
3479 },
3480 "type": {
3481 "type": "string",
3482 "enum": [
3483 "output"
3484 ],
3485 "description": "The type of field"
3486 },
3487 "instructions": {
3488 "type": "string",
3489 "description": "Instructions for content editors"
3490 },
3491 "required": {
3492 "type": [
3493 "boolean",
3494 "integer"
3495 ],
3496 "default": false,
3497 "description": "Whether the field is required"
3498 },
3499 "conditional_logic": {
3500 "type": [
3501 "boolean",
3502 "integer",
3503 "string",
3504 "array"
3505 ],
3506 "default": 0,
3507 "description": "Conditional logic rules for field visibility. False/0/empty string to disable, or array of rule groups."
3508 },
3509 "wrapper": {
3510 "type": "object",
3511 "additionalProperties": false,
3512 "properties": {
3513 "width": {
3514 "type": "string",
3515 "description": "Width of the field wrapper (e.g. '50' for 50%)"
3516 },
3517 "class": {
3518 "type": "string",
3519 "description": "CSS class(es) for the field wrapper"
3520 },
3521 "id": {
3522 "type": "string",
3523 "description": "HTML ID for the field wrapper"
3524 }
3525 },
3526 "description": "Wrapper element settings"
3527 },
3528 "menu_order": {
3529 "type": "integer",
3530 "description": "Order of the field within its parent"
3531 },
3532 "parent": {
3533 "type": [
3534 "string",
3535 "integer"
3536 ],
3537 "description": "Parent field or field group key/ID"
3538 },
3539 "parent_layout": {
3540 "type": "string",
3541 "description": "Parent layout key for flexible content sub-fields"
3542 },
3543 "html": {
3544 "type": "boolean",
3545 "default": false,
3546 "description": "Whether to output raw HTML"
3547 }
3548 },
3549 "additionalProperties": false
3550 },
3551 {
3552 "type": "object",
3553 "required": [
3554 "key",
3555 "label",
3556 "name",
3557 "type"
3558 ],
3559 "properties": {
3560 "key": {
3561 "type": "string",
3562 "pattern": "^field_.+$",
3563 "minLength": 1,
3564 "description": "Unique identifier for the field with field_ prefix (e.g. 'field_abc123')"
3565 },
3566 "label": {
3567 "type": "string",
3568 "minLength": 1,
3569 "description": "The label displayed for this field"
3570 },
3571 "name": {
3572 "type": "string",
3573 "pattern": "^[a-zA-Z0-9_-]*$",
3574 "description": "The field name/meta_key used to save and load data (empty for layout fields like tab, accordion)"
3575 },
3576 "aria-label": {
3577 "type": "string",
3578 "description": "Accessible label for screen readers"
3579 },
3580 "type": {
3581 "type": "string",
3582 "enum": [
3583 "repeater"
3584 ],
3585 "description": "The type of field"
3586 },
3587 "instructions": {
3588 "type": "string",
3589 "description": "Instructions for content editors"
3590 },
3591 "required": {
3592 "type": [
3593 "boolean",
3594 "integer"
3595 ],
3596 "default": false,
3597 "description": "Whether the field is required"
3598 },
3599 "conditional_logic": {
3600 "type": [
3601 "boolean",
3602 "integer",
3603 "string",
3604 "array"
3605 ],
3606 "default": 0,
3607 "description": "Conditional logic rules for field visibility. False/0/empty string to disable, or array of rule groups."
3608 },
3609 "wrapper": {
3610 "type": "object",
3611 "additionalProperties": false,
3612 "properties": {
3613 "width": {
3614 "type": "string",
3615 "description": "Width of the field wrapper (e.g. '50' for 50%)"
3616 },
3617 "class": {
3618 "type": "string",
3619 "description": "CSS class(es) for the field wrapper"
3620 },
3621 "id": {
3622 "type": "string",
3623 "description": "HTML ID for the field wrapper"
3624 }
3625 },
3626 "description": "Wrapper element settings"
3627 },
3628 "menu_order": {
3629 "type": "integer",
3630 "description": "Order of the field within its parent"
3631 },
3632 "parent": {
3633 "type": [
3634 "string",
3635 "integer"
3636 ],
3637 "description": "Parent field or field group key/ID"
3638 },
3639 "parent_layout": {
3640 "type": "string",
3641 "description": "Parent layout key for flexible content sub-fields"
3642 },
3643 "sub_fields": {
3644 "$ref": "#/definitions/sub_fields"
3645 },
3646 "min": {
3647 "$ref": "#/definitions/min"
3648 },
3649 "max": {
3650 "$ref": "#/definitions/max"
3651 },
3652 "layout": {
3653 "$ref": "#/definitions/layout_display",
3654 "default": "table"
3655 },
3656 "button_label": {
3657 "$ref": "#/definitions/button_label"
3658 },
3659 "pagination": {
3660 "type": [
3661 "boolean",
3662 "integer"
3663 ],
3664 "default": 0,
3665 "description": "Enable pagination for repeaters with many rows"
3666 },
3667 "rows_per_page": {
3668 "type": "integer",
3669 "default": 20,
3670 "description": "Number of rows displayed per page when pagination is enabled"
3671 },
3672 "collapsed": {
3673 "type": "string",
3674 "default": "",
3675 "description": "Field key to use as collapsed row title"
3676 }
3677 },
3678 "additionalProperties": false
3679 },
3680 {
3681 "type": "object",
3682 "required": [
3683 "key",
3684 "label",
3685 "name",
3686 "type"
3687 ],
3688 "properties": {
3689 "key": {
3690 "type": "string",
3691 "pattern": "^field_.+$",
3692 "minLength": 1,
3693 "description": "Unique identifier for the field with field_ prefix (e.g. 'field_abc123')"
3694 },
3695 "label": {
3696 "type": "string",
3697 "minLength": 1,
3698 "description": "The label displayed for this field"
3699 },
3700 "name": {
3701 "type": "string",
3702 "pattern": "^[a-zA-Z0-9_-]*$",
3703 "description": "The field name/meta_key used to save and load data (empty for layout fields like tab, accordion)"
3704 },
3705 "aria-label": {
3706 "type": "string",
3707 "description": "Accessible label for screen readers"
3708 },
3709 "type": {
3710 "type": "string",
3711 "enum": [
3712 "separator"
3713 ],
3714 "description": "The type of field"
3715 },
3716 "instructions": {
3717 "type": "string",
3718 "description": "Instructions for content editors"
3719 },
3720 "required": {
3721 "type": [
3722 "boolean",
3723 "integer"
3724 ],
3725 "default": false,
3726 "description": "Whether the field is required"
3727 },
3728 "conditional_logic": {
3729 "type": [
3730 "boolean",
3731 "integer",
3732 "string",
3733 "array"
3734 ],
3735 "default": 0,
3736 "description": "Conditional logic rules for field visibility. False/0/empty string to disable, or array of rule groups."
3737 },
3738 "wrapper": {
3739 "type": "object",
3740 "additionalProperties": false,
3741 "properties": {
3742 "width": {
3743 "type": "string",
3744 "description": "Width of the field wrapper (e.g. '50' for 50%)"
3745 },
3746 "class": {
3747 "type": "string",
3748 "description": "CSS class(es) for the field wrapper"
3749 },
3750 "id": {
3751 "type": "string",
3752 "description": "HTML ID for the field wrapper"
3753 }
3754 },
3755 "description": "Wrapper element settings"
3756 },
3757 "menu_order": {
3758 "type": "integer",
3759 "description": "Order of the field within its parent"
3760 },
3761 "parent": {
3762 "type": [
3763 "string",
3764 "integer"
3765 ],
3766 "description": "Parent field or field group key/ID"
3767 },
3768 "parent_layout": {
3769 "type": "string",
3770 "description": "Parent layout key for flexible content sub-fields"
3771 }
3772 },
3773 "additionalProperties": false
3774 },
3775 {
3776 "type": "object",
3777 "required": [
3778 "key",
3779 "label",
3780 "name",
3781 "type"
3782 ],
3783 "properties": {
3784 "key": {
3785 "type": "string",
3786 "pattern": "^field_.+$",
3787 "minLength": 1,
3788 "description": "Unique identifier for the field with field_ prefix (e.g. 'field_abc123')"
3789 },
3790 "label": {
3791 "type": "string",
3792 "minLength": 1,
3793 "description": "The label displayed for this field"
3794 },
3795 "name": {
3796 "type": "string",
3797 "pattern": "^[a-zA-Z0-9_-]*$",
3798 "description": "The field name/meta_key used to save and load data (empty for layout fields like tab, accordion)"
3799 },
3800 "aria-label": {
3801 "type": "string",
3802 "description": "Accessible label for screen readers"
3803 },
3804 "type": {
3805 "type": "string",
3806 "enum": [
3807 "tab"
3808 ],
3809 "description": "The type of field"
3810 },
3811 "instructions": {
3812 "type": "string",
3813 "description": "Instructions for content editors"
3814 },
3815 "required": {
3816 "type": [
3817 "boolean",
3818 "integer"
3819 ],
3820 "default": false,
3821 "description": "Whether the field is required"
3822 },
3823 "conditional_logic": {
3824 "type": [
3825 "boolean",
3826 "integer",
3827 "string",
3828 "array"
3829 ],
3830 "default": 0,
3831 "description": "Conditional logic rules for field visibility. False/0/empty string to disable, or array of rule groups."
3832 },
3833 "wrapper": {
3834 "type": "object",
3835 "additionalProperties": false,
3836 "properties": {
3837 "width": {
3838 "type": "string",
3839 "description": "Width of the field wrapper (e.g. '50' for 50%)"
3840 },
3841 "class": {
3842 "type": "string",
3843 "description": "CSS class(es) for the field wrapper"
3844 },
3845 "id": {
3846 "type": "string",
3847 "description": "HTML ID for the field wrapper"
3848 }
3849 },
3850 "description": "Wrapper element settings"
3851 },
3852 "menu_order": {
3853 "type": "integer",
3854 "description": "Order of the field within its parent"
3855 },
3856 "parent": {
3857 "type": [
3858 "string",
3859 "integer"
3860 ],
3861 "description": "Parent field or field group key/ID"
3862 },
3863 "parent_layout": {
3864 "type": "string",
3865 "description": "Parent layout key for flexible content sub-fields"
3866 },
3867 "placement": {
3868 "type": "string",
3869 "enum": [
3870 "top",
3871 "left"
3872 ],
3873 "default": "top",
3874 "description": "Tab placement position"
3875 },
3876 "endpoint": {
3877 "$ref": "#/definitions/endpoint"
3878 },
3879 "selected": {
3880 "type": "integer",
3881 "default": 0,
3882 "description": "Whether this tab is selected by default"
3883 }
3884 },
3885 "additionalProperties": false
3886 },
3887 {
3888 "type": "object",
3889 "required": [
3890 "key",
3891 "label",
3892 "name",
3893 "type"
3894 ],
3895 "properties": {
3896 "key": {
3897 "type": "string",
3898 "pattern": "^field_.+$",
3899 "minLength": 1,
3900 "description": "Unique identifier for the field with field_ prefix (e.g. 'field_abc123')"
3901 },
3902 "label": {
3903 "type": "string",
3904 "minLength": 1,
3905 "description": "The label displayed for this field"
3906 },
3907 "name": {
3908 "type": "string",
3909 "pattern": "^[a-zA-Z0-9_-]*$",
3910 "description": "The field name/meta_key used to save and load data (empty for layout fields like tab, accordion)"
3911 },
3912 "aria-label": {
3913 "type": "string",
3914 "description": "Accessible label for screen readers"
3915 },
3916 "type": {
3917 "type": "string",
3918 "enum": [
3919 "link"
3920 ],
3921 "description": "The type of field"
3922 },
3923 "instructions": {
3924 "type": "string",
3925 "description": "Instructions for content editors"
3926 },
3927 "required": {
3928 "type": [
3929 "boolean",
3930 "integer"
3931 ],
3932 "default": false,
3933 "description": "Whether the field is required"
3934 },
3935 "conditional_logic": {
3936 "type": [
3937 "boolean",
3938 "integer",
3939 "string",
3940 "array"
3941 ],
3942 "default": 0,
3943 "description": "Conditional logic rules for field visibility. False/0/empty string to disable, or array of rule groups."
3944 },
3945 "wrapper": {
3946 "type": "object",
3947 "additionalProperties": false,
3948 "properties": {
3949 "width": {
3950 "type": "string",
3951 "description": "Width of the field wrapper (e.g. '50' for 50%)"
3952 },
3953 "class": {
3954 "type": "string",
3955 "description": "CSS class(es) for the field wrapper"
3956 },
3957 "id": {
3958 "type": "string",
3959 "description": "HTML ID for the field wrapper"
3960 }
3961 },
3962 "description": "Wrapper element settings"
3963 },
3964 "menu_order": {
3965 "type": "integer",
3966 "description": "Order of the field within its parent"
3967 },
3968 "parent": {
3969 "type": [
3970 "string",
3971 "integer"
3972 ],
3973 "description": "Parent field or field group key/ID"
3974 },
3975 "parent_layout": {
3976 "type": "string",
3977 "description": "Parent layout key for flexible content sub-fields"
3978 },
3979 "return_format": {
3980 "type": "string",
3981 "enum": [
3982 "array",
3983 "url"
3984 ],
3985 "default": "array",
3986 "description": "Value returned (array with url/title/target or just URL string)"
3987 }
3988 },
3989 "additionalProperties": false
3990 },
3991 {
3992 "type": "object",
3993 "required": [
3994 "key",
3995 "label",
3996 "name",
3997 "type"
3998 ],
3999 "properties": {
4000 "key": {
4001 "type": "string",
4002 "pattern": "^field_.+$",
4003 "minLength": 1,
4004 "description": "Unique identifier for the field with field_ prefix (e.g. 'field_abc123')"
4005 },
4006 "label": {
4007 "type": "string",
4008 "minLength": 1,
4009 "description": "The label displayed for this field"
4010 },
4011 "name": {
4012 "type": "string",
4013 "pattern": "^[a-zA-Z0-9_-]*$",
4014 "description": "The field name/meta_key used to save and load data (empty for layout fields like tab, accordion)"
4015 },
4016 "aria-label": {
4017 "type": "string",
4018 "description": "Accessible label for screen readers"
4019 },
4020 "type": {
4021 "type": "string",
4022 "enum": [
4023 "page_link"
4024 ],
4025 "description": "The type of field"
4026 },
4027 "instructions": {
4028 "type": "string",
4029 "description": "Instructions for content editors"
4030 },
4031 "required": {
4032 "type": [
4033 "boolean",
4034 "integer"
4035 ],
4036 "default": false,
4037 "description": "Whether the field is required"
4038 },
4039 "conditional_logic": {
4040 "type": [
4041 "boolean",
4042 "integer",
4043 "string",
4044 "array"
4045 ],
4046 "default": 0,
4047 "description": "Conditional logic rules for field visibility. False/0/empty string to disable, or array of rule groups."
4048 },
4049 "wrapper": {
4050 "type": "object",
4051 "additionalProperties": false,
4052 "properties": {
4053 "width": {
4054 "type": "string",
4055 "description": "Width of the field wrapper (e.g. '50' for 50%)"
4056 },
4057 "class": {
4058 "type": "string",
4059 "description": "CSS class(es) for the field wrapper"
4060 },
4061 "id": {
4062 "type": "string",
4063 "description": "HTML ID for the field wrapper"
4064 }
4065 },
4066 "description": "Wrapper element settings"
4067 },
4068 "menu_order": {
4069 "type": "integer",
4070 "description": "Order of the field within its parent"
4071 },
4072 "parent": {
4073 "type": [
4074 "string",
4075 "integer"
4076 ],
4077 "description": "Parent field or field group key/ID"
4078 },
4079 "parent_layout": {
4080 "type": "string",
4081 "description": "Parent layout key for flexible content sub-fields"
4082 },
4083 "post_type": {
4084 "$ref": "#/definitions/post_type"
4085 },
4086 "taxonomy": {
4087 "$ref": "#/definitions/taxonomy_filter"
4088 },
4089 "allow_null": {
4090 "$ref": "#/definitions/allow_null"
4091 },
4092 "multiple": {
4093 "$ref": "#/definitions/multiple"
4094 },
4095 "allow_archives": {
4096 "type": "integer",
4097 "default": 1,
4098 "description": "Allow archive URLs to be selected (1 for yes, 0 for no)"
4099 }
4100 },
4101 "additionalProperties": false
4102 },
4103 {
4104 "type": "object",
4105 "required": [
4106 "key",
4107 "label",
4108 "name",
4109 "type"
4110 ],
4111 "properties": {
4112 "key": {
4113 "type": "string",
4114 "pattern": "^field_.+$",
4115 "minLength": 1,
4116 "description": "Unique identifier for the field with field_ prefix (e.g. 'field_abc123')"
4117 },
4118 "label": {
4119 "type": "string",
4120 "minLength": 1,
4121 "description": "The label displayed for this field"
4122 },
4123 "name": {
4124 "type": "string",
4125 "pattern": "^[a-zA-Z0-9_-]*$",
4126 "description": "The field name/meta_key used to save and load data (empty for layout fields like tab, accordion)"
4127 },
4128 "aria-label": {
4129 "type": "string",
4130 "description": "Accessible label for screen readers"
4131 },
4132 "type": {
4133 "type": "string",
4134 "enum": [
4135 "post_object"
4136 ],
4137 "description": "The type of field"
4138 },
4139 "instructions": {
4140 "type": "string",
4141 "description": "Instructions for content editors"
4142 },
4143 "required": {
4144 "type": [
4145 "boolean",
4146 "integer"
4147 ],
4148 "default": false,
4149 "description": "Whether the field is required"
4150 },
4151 "conditional_logic": {
4152 "type": [
4153 "boolean",
4154 "integer",
4155 "string",
4156 "array"
4157 ],
4158 "default": 0,
4159 "description": "Conditional logic rules for field visibility. False/0/empty string to disable, or array of rule groups."
4160 },
4161 "wrapper": {
4162 "type": "object",
4163 "additionalProperties": false,
4164 "properties": {
4165 "width": {
4166 "type": "string",
4167 "description": "Width of the field wrapper (e.g. '50' for 50%)"
4168 },
4169 "class": {
4170 "type": "string",
4171 "description": "CSS class(es) for the field wrapper"
4172 },
4173 "id": {
4174 "type": "string",
4175 "description": "HTML ID for the field wrapper"
4176 }
4177 },
4178 "description": "Wrapper element settings"
4179 },
4180 "menu_order": {
4181 "type": "integer",
4182 "description": "Order of the field within its parent"
4183 },
4184 "parent": {
4185 "type": [
4186 "string",
4187 "integer"
4188 ],
4189 "description": "Parent field or field group key/ID"
4190 },
4191 "parent_layout": {
4192 "type": "string",
4193 "description": "Parent layout key for flexible content sub-fields"
4194 },
4195 "post_type": {
4196 "$ref": "#/definitions/post_type"
4197 },
4198 "taxonomy": {
4199 "$ref": "#/definitions/taxonomy_filter"
4200 },
4201 "allow_null": {
4202 "$ref": "#/definitions/allow_null"
4203 },
4204 "multiple": {
4205 "$ref": "#/definitions/multiple"
4206 },
4207 "return_format": {
4208 "type": "string",
4209 "enum": [
4210 "object",
4211 "id"
4212 ],
4213 "default": "object",
4214 "description": "Value returned (WP_Post object or post ID)"
4215 },
4216 "ui": {
4217 "type": "integer",
4218 "default": 1,
4219 "description": "Use enhanced Select2 UI (1 for yes, 0 for no)"
4220 },
4221 "bidirectional_target": {
4222 "$ref": "#/definitions/bidirectional_target"
4223 }
4224 },
4225 "additionalProperties": false
4226 },
4227 {
4228 "type": "object",
4229 "required": [
4230 "key",
4231 "label",
4232 "name",
4233 "type"
4234 ],
4235 "properties": {
4236 "key": {
4237 "type": "string",
4238 "pattern": "^field_.+$",
4239 "minLength": 1,
4240 "description": "Unique identifier for the field with field_ prefix (e.g. 'field_abc123')"
4241 },
4242 "label": {
4243 "type": "string",
4244 "minLength": 1,
4245 "description": "The label displayed for this field"
4246 },
4247 "name": {
4248 "type": "string",
4249 "pattern": "^[a-zA-Z0-9_-]*$",
4250 "description": "The field name/meta_key used to save and load data (empty for layout fields like tab, accordion)"
4251 },
4252 "aria-label": {
4253 "type": "string",
4254 "description": "Accessible label for screen readers"
4255 },
4256 "type": {
4257 "type": "string",
4258 "enum": [
4259 "relationship"
4260 ],
4261 "description": "The type of field"
4262 },
4263 "instructions": {
4264 "type": "string",
4265 "description": "Instructions for content editors"
4266 },
4267 "required": {
4268 "type": [
4269 "boolean",
4270 "integer"
4271 ],
4272 "default": false,
4273 "description": "Whether the field is required"
4274 },
4275 "conditional_logic": {
4276 "type": [
4277 "boolean",
4278 "integer",
4279 "string",
4280 "array"
4281 ],
4282 "default": 0,
4283 "description": "Conditional logic rules for field visibility. False/0/empty string to disable, or array of rule groups."
4284 },
4285 "wrapper": {
4286 "type": "object",
4287 "additionalProperties": false,
4288 "properties": {
4289 "width": {
4290 "type": "string",
4291 "description": "Width of the field wrapper (e.g. '50' for 50%)"
4292 },
4293 "class": {
4294 "type": "string",
4295 "description": "CSS class(es) for the field wrapper"
4296 },
4297 "id": {
4298 "type": "string",
4299 "description": "HTML ID for the field wrapper"
4300 }
4301 },
4302 "description": "Wrapper element settings"
4303 },
4304 "menu_order": {
4305 "type": "integer",
4306 "description": "Order of the field within its parent"
4307 },
4308 "parent": {
4309 "type": [
4310 "string",
4311 "integer"
4312 ],
4313 "description": "Parent field or field group key/ID"
4314 },
4315 "parent_layout": {
4316 "type": "string",
4317 "description": "Parent layout key for flexible content sub-fields"
4318 },
4319 "post_type": {
4320 "$ref": "#/definitions/post_type"
4321 },
4322 "taxonomy": {
4323 "$ref": "#/definitions/taxonomy_filter"
4324 },
4325 "min": {
4326 "$ref": "#/definitions/min"
4327 },
4328 "max": {
4329 "$ref": "#/definitions/max"
4330 },
4331 "filters": {
4332 "type": "array",
4333 "default": [
4334 "search",
4335 "post_type",
4336 "taxonomy"
4337 ],
4338 "description": "Enabled filters for the relationship field UI"
4339 },
4340 "elements": {
4341 "type": "array",
4342 "default": [],
4343 "description": "Additional elements to display (e.g., 'featured_image')"
4344 },
4345 "return_format": {
4346 "type": "string",
4347 "enum": [
4348 "object",
4349 "id"
4350 ],
4351 "default": "object",
4352 "description": "Value returned (WP_Post object or post ID)"
4353 },
4354 "bidirectional_target": {
4355 "$ref": "#/definitions/bidirectional_target"
4356 }
4357 },
4358 "additionalProperties": false
4359 },
4360 {
4361 "type": "object",
4362 "required": [
4363 "key",
4364 "label",
4365 "name",
4366 "type"
4367 ],
4368 "properties": {
4369 "key": {
4370 "type": "string",
4371 "pattern": "^field_.+$",
4372 "minLength": 1,
4373 "description": "Unique identifier for the field with field_ prefix (e.g. 'field_abc123')"
4374 },
4375 "label": {
4376 "type": "string",
4377 "minLength": 1,
4378 "description": "The label displayed for this field"
4379 },
4380 "name": {
4381 "type": "string",
4382 "pattern": "^[a-zA-Z0-9_-]*$",
4383 "description": "The field name/meta_key used to save and load data (empty for layout fields like tab, accordion)"
4384 },
4385 "aria-label": {
4386 "type": "string",
4387 "description": "Accessible label for screen readers"
4388 },
4389 "type": {
4390 "type": "string",
4391 "enum": [
4392 "taxonomy"
4393 ],
4394 "description": "The type of field"
4395 },
4396 "instructions": {
4397 "type": "string",
4398 "description": "Instructions for content editors"
4399 },
4400 "required": {
4401 "type": [
4402 "boolean",
4403 "integer"
4404 ],
4405 "default": false,
4406 "description": "Whether the field is required"
4407 },
4408 "conditional_logic": {
4409 "type": [
4410 "boolean",
4411 "integer",
4412 "string",
4413 "array"
4414 ],
4415 "default": 0,
4416 "description": "Conditional logic rules for field visibility. False/0/empty string to disable, or array of rule groups."
4417 },
4418 "wrapper": {
4419 "type": "object",
4420 "additionalProperties": false,
4421 "properties": {
4422 "width": {
4423 "type": "string",
4424 "description": "Width of the field wrapper (e.g. '50' for 50%)"
4425 },
4426 "class": {
4427 "type": "string",
4428 "description": "CSS class(es) for the field wrapper"
4429 },
4430 "id": {
4431 "type": "string",
4432 "description": "HTML ID for the field wrapper"
4433 }
4434 },
4435 "description": "Wrapper element settings"
4436 },
4437 "menu_order": {
4438 "type": "integer",
4439 "description": "Order of the field within its parent"
4440 },
4441 "parent": {
4442 "type": [
4443 "string",
4444 "integer"
4445 ],
4446 "description": "Parent field or field group key/ID"
4447 },
4448 "parent_layout": {
4449 "type": "string",
4450 "description": "Parent layout key for flexible content sub-fields"
4451 },
4452 "taxonomy": {
4453 "type": "string",
4454 "default": "category",
4455 "description": "The taxonomy to select terms from"
4456 },
4457 "field_type": {
4458 "type": "string",
4459 "enum": [
4460 "checkbox",
4461 "multi_select",
4462 "radio",
4463 "select"
4464 ],
4465 "default": "checkbox",
4466 "description": "UI type for term selection"
4467 },
4468 "multiple": {
4469 "$ref": "#/definitions/multiple"
4470 },
4471 "allow_null": {
4472 "$ref": "#/definitions/allow_null"
4473 },
4474 "return_format": {
4475 "type": "string",
4476 "enum": [
4477 "object",
4478 "id"
4479 ],
4480 "default": "id",
4481 "description": "Value returned (WP_Term object or term ID)"
4482 },
4483 "add_term": {
4484 "type": "integer",
4485 "default": 1,
4486 "description": "Allow new terms to be created (1 for yes, 0 for no)"
4487 },
4488 "load_terms": {
4489 "type": "integer",
4490 "default": 0,
4491 "description": "Load terms assigned to post (1 for yes, 0 for no)"
4492 },
4493 "save_terms": {
4494 "type": "integer",
4495 "default": 0,
4496 "description": "Connect selected terms to post (1 for yes, 0 for no)"
4497 },
4498 "bidirectional_target": {
4499 "$ref": "#/definitions/bidirectional_target"
4500 }
4501 },
4502 "additionalProperties": false
4503 },
4504 {
4505 "type": "object",
4506 "required": [
4507 "key",
4508 "label",
4509 "name",
4510 "type"
4511 ],
4512 "properties": {
4513 "key": {
4514 "type": "string",
4515 "pattern": "^field_.+$",
4516 "minLength": 1,
4517 "description": "Unique identifier for the field with field_ prefix (e.g. 'field_abc123')"
4518 },
4519 "label": {
4520 "type": "string",
4521 "minLength": 1,
4522 "description": "The label displayed for this field"
4523 },
4524 "name": {
4525 "type": "string",
4526 "pattern": "^[a-zA-Z0-9_-]*$",
4527 "description": "The field name/meta_key used to save and load data (empty for layout fields like tab, accordion)"
4528 },
4529 "aria-label": {
4530 "type": "string",
4531 "description": "Accessible label for screen readers"
4532 },
4533 "type": {
4534 "type": "string",
4535 "enum": [
4536 "user"
4537 ],
4538 "description": "The type of field"
4539 },
4540 "instructions": {
4541 "type": "string",
4542 "description": "Instructions for content editors"
4543 },
4544 "required": {
4545 "type": [
4546 "boolean",
4547 "integer"
4548 ],
4549 "default": false,
4550 "description": "Whether the field is required"
4551 },
4552 "conditional_logic": {
4553 "type": [
4554 "boolean",
4555 "integer",
4556 "string",
4557 "array"
4558 ],
4559 "default": 0,
4560 "description": "Conditional logic rules for field visibility. False/0/empty string to disable, or array of rule groups."
4561 },
4562 "wrapper": {
4563 "type": "object",
4564 "additionalProperties": false,
4565 "properties": {
4566 "width": {
4567 "type": "string",
4568 "description": "Width of the field wrapper (e.g. '50' for 50%)"
4569 },
4570 "class": {
4571 "type": "string",
4572 "description": "CSS class(es) for the field wrapper"
4573 },
4574 "id": {
4575 "type": "string",
4576 "description": "HTML ID for the field wrapper"
4577 }
4578 },
4579 "description": "Wrapper element settings"
4580 },
4581 "menu_order": {
4582 "type": "integer",
4583 "description": "Order of the field within its parent"
4584 },
4585 "parent": {
4586 "type": [
4587 "string",
4588 "integer"
4589 ],
4590 "description": "Parent field or field group key/ID"
4591 },
4592 "parent_layout": {
4593 "type": "string",
4594 "description": "Parent layout key for flexible content sub-fields"
4595 },
4596 "role": {
4597 "type": "string",
4598 "default": "",
4599 "description": "Limit to specific user role (empty for all roles)"
4600 },
4601 "multiple": {
4602 "$ref": "#/definitions/multiple"
4603 },
4604 "allow_null": {
4605 "$ref": "#/definitions/allow_null"
4606 },
4607 "return_format": {
4608 "type": "string",
4609 "enum": [
4610 "array",
4611 "object",
4612 "id"
4613 ],
4614 "default": "array",
4615 "description": "Value returned (user array, WP_User object, or user ID)"
4616 },
4617 "bidirectional_target": {
4618 "$ref": "#/definitions/bidirectional_target"
4619 }
4620 },
4621 "additionalProperties": false
4622 }
4623 ]
4624 },
4625 "conditionalLogicGroup": {
4626 "type": "array",
4627 "items": {
4628 "$ref": "#/definitions/conditionalLogicRule"
4629 },
4630 "minItems": 1,
4631 "description": "Group of conditional logic rules (AND logic within group)"
4632 },
4633 "conditionalLogicRule": {
4634 "type": "object",
4635 "required": [
4636 "field",
4637 "operator"
4638 ],
4639 "additionalProperties": false,
4640 "properties": {
4641 "field": {
4642 "type": "string",
4643 "pattern": "^field_.+$",
4644 "description": "Field key to check"
4645 },
4646 "operator": {
4647 "type": "string",
4648 "enum": [
4649 "==",
4650 "!=",
4651 "!==",
4652 "==empty",
4653 "!=empty",
4654 "==pattern",
4655 "==contains",
4656 "!=contains",
4657 "<",
4658 ">"
4659 ],
4660 "description": "Comparison operator"
4661 },
4662 "value": {
4663 "type": "string",
4664 "description": "Value to compare against (not required for ==empty and !=empty operators)"
4665 }
4666 }
4667 },
4668 "default_value": {
4669 "type": "string",
4670 "default": "",
4671 "description": "Default value for the field"
4672 },
4673 "default_value_numeric": {
4674 "type": [
4675 "string",
4676 "number"
4677 ],
4678 "default": "",
4679 "description": "Default value for numeric fields (string for empty, number for value)"
4680 },
4681 "default_value_multi": {
4682 "type": [
4683 "string",
4684 "array"
4685 ],
4686 "default": "",
4687 "description": "Default value(s) for multi-select fields (string for single, array for multiple)"
4688 },
4689 "placeholder": {
4690 "type": "string",
4691 "default": "",
4692 "description": "Placeholder text shown when field is empty"
4693 },
4694 "prepend": {
4695 "type": "string",
4696 "default": "",
4697 "description": "Text or HTML displayed before the input"
4698 },
4699 "append": {
4700 "type": "string",
4701 "default": "",
4702 "description": "Text or HTML displayed after the input"
4703 },
4704 "maxlength": {
4705 "type": [
4706 "integer",
4707 "string"
4708 ],
4709 "default": "",
4710 "description": "Maximum character length (empty string for unlimited)"
4711 },
4712 "rows": {
4713 "type": [
4714 "integer",
4715 "string"
4716 ],
4717 "default": "",
4718 "description": "Number of rows for textarea display"
4719 },
4720 "new_lines": {
4721 "type": "string",
4722 "enum": [
4723 "wpautop",
4724 "br",
4725 ""
4726 ],
4727 "default": "",
4728 "description": "How to handle new lines in output (wpautop, br, or none)"
4729 },
4730 "return_format_media": {
4731 "type": "string",
4732 "enum": [
4733 "array",
4734 "url",
4735 "id"
4736 ],
4737 "default": "array",
4738 "description": "How the media value is returned (array of data, URL string, or attachment ID)"
4739 },
4740 "library": {
4741 "type": "string",
4742 "enum": [
4743 "all",
4744 "uploadedTo"
4745 ],
4746 "default": "all",
4747 "description": "Media library source (all media or uploaded to current post only)"
4748 },
4749 "mime_types": {
4750 "type": "string",
4751 "default": "",
4752 "description": "Comma-separated list of allowed MIME types (e.g., 'image/png, image/jpeg')"
4753 },
4754 "preview_size": {
4755 "type": "string",
4756 "default": "medium",
4757 "description": "Image size for preview display in admin"
4758 },
4759 "min_width": {
4760 "type": "integer",
4761 "default": 0,
4762 "description": "Minimum image width in pixels (0 for no limit)"
4763 },
4764 "min_height": {
4765 "type": "integer",
4766 "default": 0,
4767 "description": "Minimum image height in pixels (0 for no limit)"
4768 },
4769 "max_width": {
4770 "type": "integer",
4771 "default": 0,
4772 "description": "Maximum image width in pixels (0 for no limit)"
4773 },
4774 "max_height": {
4775 "type": "integer",
4776 "default": 0,
4777 "description": "Maximum image height in pixels (0 for no limit)"
4778 },
4779 "min_size": {
4780 "type": "integer",
4781 "default": 0,
4782 "description": "Minimum file size in MB (0 for no limit)"
4783 },
4784 "max_size": {
4785 "type": "integer",
4786 "default": 0,
4787 "description": "Maximum file size in MB (0 for no limit)"
4788 },
4789 "choices": {
4790 "type": [
4791 "object",
4792 "array"
4793 ],
4794 "default": [],
4795 "description": "Available choices as value:label pairs (object when populated, array when empty)"
4796 },
4797 "allow_null": {
4798 "type": "integer",
4799 "default": 0,
4800 "description": "Allow a null/empty value to be selected (1 for yes, 0 for no)"
4801 },
4802 "multiple": {
4803 "type": "integer",
4804 "default": 0,
4805 "description": "Allow multiple values to be selected (1 for yes, 0 for no)"
4806 },
4807 "return_format_choice": {
4808 "type": "string",
4809 "enum": [
4810 "value",
4811 "label",
4812 "array"
4813 ],
4814 "default": "value",
4815 "description": "Value returned (value, label, or both as array)"
4816 },
4817 "layout_choice": {
4818 "type": "string",
4819 "enum": [
4820 "vertical",
4821 "horizontal"
4822 ],
4823 "default": "vertical",
4824 "description": "Layout direction for choices (default varies by field type)"
4825 },
4826 "min": {
4827 "type": "integer",
4828 "default": 0,
4829 "description": "Minimum number of items required (0 for no minimum)"
4830 },
4831 "max": {
4832 "type": "integer",
4833 "default": 0,
4834 "description": "Maximum number of items allowed (0 for no limit)"
4835 },
4836 "post_type": {
4837 "type": "array",
4838 "default": [],
4839 "description": "Limit selection to specific post types (empty for all)"
4840 },
4841 "taxonomy_filter": {
4842 "type": "array",
4843 "default": [],
4844 "description": "Limit selection to posts with specific taxonomy terms"
4845 },
4846 "bidirectional_target": {
4847 "type": "array",
4848 "default": [],
4849 "description": "Target fields for bidirectional relationships"
4850 },
4851 "first_day": {
4852 "type": "integer",
4853 "default": 1,
4854 "description": "Week start day (0 = Sunday, 1 = Monday, etc.)"
4855 },
4856 "default_to_current_date": {
4857 "type": "integer",
4858 "default": 0,
4859 "description": "Set current date/time as default value (1 for yes, 0 for no)"
4860 },
4861 "sub_fields": {
4862 "type": "array",
4863 "default": [],
4864 "description": "Nested fields within this field"
4865 },
4866 "layout_display": {
4867 "type": "string",
4868 "enum": [
4869 "block",
4870 "table",
4871 "row"
4872 ],
4873 "description": "Visual layout style for rendering fields"
4874 },
4875 "button_label": {
4876 "type": "string",
4877 "default": "",
4878 "description": "Text label for the add row button"
4879 },
4880 "endpoint": {
4881 "type": "integer",
4882 "default": 0,
4883 "description": "Define an endpoint for the previous accordion/tab group"
4884 }
4885 }
4886 }
4887