Automattic\WooCommerce\Internal\RestApi\Routes\V4\Products
Controller::add_embed_context_to_schema_property
Add the embed context to a schema property and its nested properties.
Method of the class: Controller{}
No Hooks.
Returns
Array. Schema property with embed context support.
Usage
// private - for code of main (parent) class only $result = $this->add_embed_context_to_schema_property( $property_schema ): array;
- $property_schema(array) (required)
- Schema property.
Controller::add_embed_context_to_schema_property() Controller::add embed context to schema property code WC 11.0.1
private function add_embed_context_to_schema_property( array $property_schema ): array {
if (
! empty( $property_schema['context'] ) &&
is_array( $property_schema['context'] ) &&
in_array( 'view', $property_schema['context'], true ) &&
! in_array( 'embed', $property_schema['context'], true )
) {
$property_schema['context'][] = 'embed';
}
if ( ! empty( $property_schema['properties'] ) && is_array( $property_schema['properties'] ) ) {
foreach ( $property_schema['properties'] as $property => $nested_property_schema ) {
if ( ! is_array( $nested_property_schema ) ) {
continue;
}
$property_schema['properties'][ $property ] = $this->add_embed_context_to_schema_property( $nested_property_schema );
}
}
if ( ! empty( $property_schema['items']['properties'] ) && is_array( $property_schema['items']['properties'] ) ) {
foreach ( $property_schema['items']['properties'] as $property => $nested_property_schema ) {
if ( ! is_array( $nested_property_schema ) ) {
continue;
}
$property_schema['items']['properties'][ $property ] = $this->add_embed_context_to_schema_property( $nested_property_schema );
}
}
return $property_schema;
}