WC_API_Products::save_default_attributes( WC_Product $product, array $request )
Save default attributes.
Description Description
Parameters Parameters
- $product
-
(Required)
- $request
-
(Required)
Return Return
Source Source
File: includes/legacy/api/v2/class-wc-api-products.php
protected function save_default_attributes( $product, $request ) { // Update default attributes options setting. if ( isset( $request['default_attribute'] ) ) { $request['default_attributes'] = $request['default_attribute']; } if ( isset( $request['default_attributes'] ) && is_array( $request['default_attributes'] ) ) { $attributes = $product->get_attributes(); $default_attributes = array(); foreach ( $request['default_attributes'] as $default_attr_key => $default_attr ) { if ( ! isset( $default_attr['name'] ) ) { continue; } $taxonomy = sanitize_title( $default_attr['name'] ); if ( isset( $default_attr['slug'] ) ) { $taxonomy = $this->get_attribute_taxonomy_by_slug( $default_attr['slug'] ); } if ( isset( $attributes[ $taxonomy ] ) ) { $_attribute = $attributes[ $taxonomy ]; if ( $_attribute['is_variation'] ) { $value = ''; if ( isset( $default_attr['option'] ) ) { if ( $_attribute['is_taxonomy'] ) { // Don't use wc_clean as it destroys sanitized characters. $value = sanitize_title( trim( stripslashes( $default_attr['option'] ) ) ); } else { $value = wc_clean( trim( stripslashes( $default_attr['option'] ) ) ); } } if ( $value ) { $default_attributes[ $taxonomy ] = $value; } } } } $product->set_default_attributes( $default_attributes ); } return $product; }
Changelog Changelog
Version | Description |
---|---|
3.0.0 | Introduced. |