Automattic\WooCommerce\StoreApi\Utilities
CartController::sanitize_variation_data()
Format and sanitize variation data posted to the API.
Labels are converted to names (e.g. Size to pa_size), and values are cleaned.
Метод класса: CartController{}
Хуков нет.
Возвращает
Массив
.
Использование
// protected - в коде основоного (родительского) или дочернего класса $result = $this->sanitize_variation_data( $variation_data, $variable_product_attributes );
- $variation_data(массив) (обязательный)
- Key value pairs of attributes and values.
- $variable_product_attributes(массив) (обязательный)
- Product attributes we're expecting.
Код CartController::sanitize_variation_data() CartController::sanitize variation data WC 7.5.1
protected function sanitize_variation_data( $variation_data, $variable_product_attributes ) { $return = []; foreach ( $variable_product_attributes as $attribute ) { if ( ! $attribute['is_variation'] ) { continue; } $attribute_label = wc_attribute_label( $attribute['name'] ); $variation_attribute_name = wc_variation_attribute_name( $attribute['name'] ); // Attribute labels e.g. Size. if ( isset( $variation_data[ $attribute_label ] ) ) { $return[ $variation_attribute_name ] = $attribute['is_taxonomy'] ? sanitize_title( $variation_data[ $attribute_label ] ) : html_entity_decode( wc_clean( $variation_data[ $attribute_label ] ), ENT_QUOTES, get_bloginfo( 'charset' ) ); continue; } // Attribute slugs e.g. pa_size. if ( isset( $variation_data[ $attribute['name'] ] ) ) { $return[ $variation_attribute_name ] = $attribute['is_taxonomy'] ? sanitize_title( $variation_data[ $attribute['name'] ] ) : html_entity_decode( wc_clean( $variation_data[ $attribute['name'] ] ), ENT_QUOTES, get_bloginfo( 'charset' ) ); } } return $return; }