@@ 534-552 (lines=19) @@ | ||
531 | ); |
|
532 | } |
|
533 | ||
534 | function wc_update_220_variations() { |
|
535 | global $wpdb; |
|
536 | // Update variations which manage stock |
|
537 | $update_variations = $wpdb->get_results( " |
|
538 | SELECT DISTINCT posts.ID AS variation_id, posts.post_parent AS variation_parent FROM {$wpdb->posts} as posts |
|
539 | LEFT OUTER JOIN {$wpdb->postmeta} AS postmeta ON posts.ID = postmeta.post_id AND postmeta.meta_key = '_stock' |
|
540 | LEFT OUTER JOIN {$wpdb->postmeta} as postmeta2 ON posts.ID = postmeta2.post_id AND postmeta2.meta_key = '_manage_stock' |
|
541 | WHERE posts.post_type = 'product_variation' |
|
542 | AND postmeta.meta_value IS NOT NULL |
|
543 | AND postmeta.meta_value != '' |
|
544 | AND postmeta2.meta_value IS NULL |
|
545 | " ); |
|
546 | ||
547 | foreach ( $update_variations as $variation ) { |
|
548 | $parent_backorders = get_post_meta( $variation->variation_parent, '_backorders', true ); |
|
549 | add_post_meta( $variation->variation_id, '_manage_stock', 'yes', true ); |
|
550 | add_post_meta( $variation->variation_id, '_backorders', $parent_backorders ? $parent_backorders : 'no', true ); |
|
551 | } |
|
552 | } |
|
553 | ||
554 | function wc_update_220_attributes() { |
|
555 | global $wpdb; |
|
@@ 786-811 (lines=26) @@ | ||
783 | WC_Install::update_db_version( '2.4.0' ); |
|
784 | } |
|
785 | ||
786 | function wc_update_241_variations() { |
|
787 | global $wpdb; |
|
788 | ||
789 | // Select variations that don't have any _stock_status implemented on WooCommerce 2.2 |
|
790 | $update_variations = $wpdb->get_results( " |
|
791 | SELECT DISTINCT posts.ID AS variation_id, posts.post_parent AS variation_parent |
|
792 | FROM {$wpdb->posts} as posts |
|
793 | LEFT OUTER JOIN {$wpdb->postmeta} AS postmeta ON posts.ID = postmeta.post_id AND postmeta.meta_key = '_stock_status' |
|
794 | WHERE posts.post_type = 'product_variation' |
|
795 | AND postmeta.meta_value IS NULL |
|
796 | " ); |
|
797 | ||
798 | foreach ( $update_variations as $variation ) { |
|
799 | // Get the parent _stock_status |
|
800 | $parent_stock_status = get_post_meta( $variation->variation_parent, '_stock_status', true ); |
|
801 | ||
802 | // Set the _stock_status |
|
803 | add_post_meta( $variation->variation_id, '_stock_status', $parent_stock_status ? $parent_stock_status : 'instock', true ); |
|
804 | ||
805 | // Delete old product children array |
|
806 | delete_transient( 'wc_product_children_' . $variation->variation_parent ); |
|
807 | } |
|
808 | ||
809 | // Invalidate old transients such as wc_var_price |
|
810 | WC_Cache_Helper::get_transient_version( 'product', true ); |
|
811 | } |
|
812 | ||
813 | function wc_update_241_db_version() { |
|
814 | WC_Install::update_db_version( '2.4.1' ); |