Automattic\WooCommerce\StoreApi\Schemas\V1
CheckoutSchema::generate_additional_fields_schema
Generate the schema for additional fields.
Method of the class: CheckoutSchema{}
No Hooks.
Returns
Array
.
Usage
// protected - for code of main (parent) or child class $result = $this->generate_additional_fields_schema( ...$args );
- ...$args(array[]) (required)
- One or more arrays of additional fields.
CheckoutSchema::generate_additional_fields_schema() CheckoutSchema::generate additional fields schema code WC 9.8.5
protected function generate_additional_fields_schema( ...$args ) { $additional_fields = array_merge( ...$args ); $schema = []; foreach ( $additional_fields as $key => $field ) { $field_schema = [ 'description' => $field['label'], 'type' => 'string', 'context' => [ 'view', 'edit' ], 'required' => $this->additional_fields_controller->is_conditional_field( $field ) ? false : $field['required'], ]; if ( 'select' === $field['type'] ) { $field_schema['enum'] = array_map( function ( $option ) { return $option['value']; }, $field['options'] ); if ( true !== $field['required'] ) { $field_schema['enum'][] = ''; } } if ( 'checkbox' === $field['type'] ) { $field_schema['type'] = 'boolean'; } if ( 'checkbox' === $field['type'] && true === $field['required'] ) { $field_schema['enum'][] = true; } $schema[ $key ] = $field_schema; } return $schema; }