wc_update_220_attributes()
Update attributes for 2.2
Description Description
Return Return
(void)
Source Source
File: includes/wc-update-functions.php
function wc_update_220_attributes() {
global $wpdb;
// Update taxonomy names with correct sanitized names.
$attribute_taxonomies = $wpdb->get_results( 'SELECT attribute_name, attribute_id FROM ' . $wpdb->prefix . 'woocommerce_attribute_taxonomies' );
foreach ( $attribute_taxonomies as $attribute_taxonomy ) {
$sanitized_attribute_name = wc_sanitize_taxonomy_name( $attribute_taxonomy->attribute_name );
if ( $sanitized_attribute_name !== $attribute_taxonomy->attribute_name ) {
if ( ! $wpdb->get_var( $wpdb->prepare( "SELECT 1=1 FROM {$wpdb->prefix}woocommerce_attribute_taxonomies WHERE attribute_name = %s;", $sanitized_attribute_name ) ) ) {
// Update attribute.
$wpdb->update(
"{$wpdb->prefix}woocommerce_attribute_taxonomies",
array(
'attribute_name' => $sanitized_attribute_name,
),
array(
'attribute_id' => $attribute_taxonomy->attribute_id,
)
);
// Update terms.
$wpdb->update(
$wpdb->term_taxonomy,
array( 'taxonomy' => wc_attribute_taxonomy_name( $sanitized_attribute_name ) ),
array( 'taxonomy' => 'pa_' . $attribute_taxonomy->attribute_name )
);
}
}
}
delete_transient( 'wc_attribute_taxonomies' );
WC_Cache_Helper::invalidate_cache_group( 'woocommerce-attributes' );
}