woocommerce/includes/updates/woocommerce-update-2.6.php

51 lines
1.9 KiB
PHP
Raw Normal View History

2015-12-18 17:10:58 +00:00
<?php
/**
* Update WC to 2.6.0
*
* @author WooThemes
* @category Admin
* @package WooCommerce/Admin/Updates
* @version 2.6.0
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
global $wpdb;
/**
* Old (table rate) shipping zones to new core shipping zones migration.
*
* zone_enabled and zone_type are no longer used, but it's safe to leave them be.
*/
if ( $wpdb->get_var( "SHOW COLUMNS FROM `{$wpdb->prefix}woocommerce_shipping_zones` LIKE 'zone_enabled';" ) ) {
$wpdb->query( "ALTER TABLE {$wpdb->prefix}woocommerce_shipping_zones CHANGE `zone_type` `zone_type` VARCHAR(40) NOT NULL DEFAULT '';" );
$wpdb->query( "ALTER TABLE {$wpdb->prefix}woocommerce_shipping_zones CHANGE `zone_enabled` `zone_enabled` INT(1) NOT NULL DEFAULT 1;" );
}
/**
* Core uses woocommerce_shipping_zone_methods instead of woocommerce_shipping_zone_shipping_methods. Migrate the data.
*/
if ( $wpdb->get_var( "SHOW TABLES LIKE '{$wpdb->prefix}woocommerce_shipping_zone_shipping_methods';" ) ) {
$old_methods = $wpdb->get_results( "SELECT * FROM {$wpdb->prefix}woocommerce_shipping_zone_shipping_methods;" );
if ( $old_methods ) {
foreach ( $old_methods as $old_method ) {
$wpdb->insert( $wpdb->prefix . 'woocommerce_shipping_zone_methods', array(
'zone_id' => $old_method->zone_id,
'method_id' => $old_method->shipping_method_type,
'method_order' => $old_method->shipping_method_order
) );
$old_settings_key = 'woocommerce_' . $old_method->shipping_method_type . '-' . $old_method->shipping_method_id . '_settings';
add_option( 'woocommerce_' . $old_method->shipping_method_type . '_' . $wpdb->insert_id . '_settings', get_option( $old_settings_key ) );
}
}
}
2016-01-05 11:23:15 +00:00
/**
* woocommerce_calc_shipping option has been removed in 2.6
*/
if ( 'no' === get_option( 'woocommerce_calc_shipping' ) ) {
update_option( 'woocommerce_ship_to_countries', 'disabled' );
}