Alert: This function’s access is marked private. This means it is not intended for use by plugin or theme developers, only in other core functions. It is listed here for completeness.
WC_Meta_Box_Product_Data::prepare_set_attributes( array $all_attributes, string $key_prefix = 'attribute_', int $index = null )
Prepare attributes for a specific variation or defaults.
Description Description
Parameters Parameters
- $all_attributes
-
(Required) List of attribute keys.
- $key_prefix
-
(Optional) Attribute key prefix.
Default value: 'attribute_'
- $index
-
(Optional) Attribute array index.
Default value: null
Return Return
(array)
Source Source
File: includes/admin/meta-boxes/class-wc-meta-box-product-data.php
private static function prepare_set_attributes( $all_attributes, $key_prefix = 'attribute_', $index = null ) { $attributes = array(); if ( $all_attributes ) { foreach ( $all_attributes as $attribute ) { if ( $attribute->get_variation() ) { $attribute_key = sanitize_title( $attribute->get_name() ); if ( ! is_null( $index ) ) { $value = isset( $_POST[ $key_prefix . $attribute_key ][ $index ] ) ? wp_unslash( $_POST[ $key_prefix . $attribute_key ][ $index ] ) : ''; // phpcs:ignore WordPress.Security.NonceVerification.Missing, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized } else { $value = isset( $_POST[ $key_prefix . $attribute_key ] ) ? wp_unslash( $_POST[ $key_prefix . $attribute_key ] ) : ''; // phpcs:ignore WordPress.Security.NonceVerification.Missing, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized } if ( $attribute->is_taxonomy() ) { // Don't use wc_clean as it destroys sanitized characters. $value = sanitize_title( $value ); } else { $value = html_entity_decode( wc_clean( $value ), ENT_QUOTES, get_bloginfo( 'charset' ) ); // WPCS: sanitization ok. } $attributes[ $attribute_key ] = $value; } } } return $attributes; }