Home / Attachments / Bulk add shipping zone methods
Duplicate Snippet

Embed Snippet on Your Site

Bulk add shipping zone methods

Adds shipping zone method , with prices and some options, must be run once

Code Preview
php
<?php
function bulk_update_shipping_zones_vayots_dzor() {
    global $wpdb;
    // Define the shipping zones and their corresponding state codes
    $zones = array(
        'Ագարակաձոր' => ['code' => 'AG1', 'price' => 9600], 
        'Ազատեկ' => ['code' => 'AR2', 'price' => 11600], 
        'Ախտա' => ['code' => 'AI3', 'price' => 12200], 
        'Աղավնաձոր' => ['code' => 'BL4', 'price' => 9000], 
        'Աղնջաձոր' => ['code' => 'BS5', 'price' => 11100], 
        'Ամաղու' => ['code' => 'BE6', 'price' => 8900], 
        'Արատես' => ['code' => 'FR7', 'price' => 11900], 
        'Արենի' => ['code' => 'GE8', 'price' => 7900], 
        'Արին' => ['code' => 'GL9', 'price' => 11300], 
        'Արտաբույնք' => ['code' => 'GR10', 'price' => 10600], 
        'Արտավան' => ['code' => 'JU11', 'price' => 12500], 
        'Արփի' => ['code' => 'LU12', 'price' => 8600], 
        'Բարձրունի' => ['code' => 'NE13', 'price' => 13500], 
        'Գետափ' => ['code' => 'NW14', 'price' => 9300], 
        'Գետիկվանք' => ['code' => 'OW15', 'price' => 13000], 
        'Գլաձոր' => ['code' => 'SH16', 'price' => 9700], 
        'Գնդեվազ' => ['code' => 'SZ17', 'price' => 12900], 
        'Գնիշիկ' => ['code' => 'SO18', 'price' => 11200], 
        'Գողթանիկ' => ['code' => 'SG19', 'price' => 11800], 
        'Գոմք' => ['code' => 'TG20', 'price' => 7900], 
        'Ելփին' => ['code' => 'TI21', 'price' => 6900], 
        'Եղեգիս' => ['code' => 'UR22', 'price' => 10900], 
        'Զառիթափ' => ['code' => 'VS23', 'price' => 11800], 
        'Զեդեա' => ['code' => 'VD24', 'price' => 11000], 
        'Թառաթումբ' => ['code' => 'ZG25', 'price' => 13300], 
        'Խաչիկ' => ['code' => 'ZH26', 'price' => 10200], 
        'Խնձորուտ' => ['code' => 'ZH27', 'price' => 13400], 
        'Կալասար' => ['code' => 'ZH28', 'price' => 11600], 
        'Կապույտ' => ['code' => 'ZH29', 'price' => 12900], 
        'Կարմրաշեն' => ['code' => 'ZH30', 'price' => 13100], 
        'Կեչուտ' => ['code' => 'ZH31', 'price' => 13800], 
        'Հերհեր' => ['code' => 'ZH32', 'price' => 12600], 
        'Հերմոն' => ['code' => 'ZH33', 'price' => 11500], 
        'Հորադիս' => ['code' => 'ZH34', 'price' => 13500], 
        'Հորբատեղ' => ['code' => 'ZH35', 'price' => 11000], 
        'Հորս' => ['code' => 'ZH36', 'price' => 10900], 
        'Մալիշկա' => ['code' => 'ZH37', 'price' => 9900], 
        'Մարտիրոս' => ['code' => 'ZH38', 'price' => 12500], 
        'Մոզրով' => ['code' => 'ZH39', 'price' => 9600], 
        'Նոր Ազնաբերդ' => ['code' => 'ZH40', 'price' => 13300], 
        'Շատին' => ['code' => 'ZH41', 'price' => 10100], 
        'Ուղեձոր' => ['code' => 'ZH42', 'price' => 13500], 
        'Չիվա' => ['code' => 'ZH43', 'price' => 7300], 
        'Ռինդ' => ['code' => 'ZH44', 'price' => 7800], 
        'Սալլի' => ['code' => 'ZH45', 'price' => 10700], 
        'Սարավան' => ['code' => 'ZH46', 'price' => 12600], 
        'Սերս' => ['code' => 'ZH47', 'price' => 12900], 
        'Սևաժայռ' => ['code' => 'ZH48', 'price' => 12400], 
        'Վարդահովիտ' => ['code' => 'ZH49', 'price' => 12200], 
        'Վերնաշեն' => ['code' => 'ZH50', 'price' => 9800], 
        'Փոռ' => ['code' => 'ZH51', 'price' => 11900], 
        'Քարագլուխ' => ['code' => 'ZH52', 'price' => 10900], 
        'Ջերմուկ' => ['code' => 'ZH53', 'price' => 13900], 
        'Եղեգնաձոր' => ['code' => 'ZH54', 'price' => 9400], 
        'Վայք' => ['code' => 'ZH55', 'price' => 10700]
    );
    foreach ($zones as $zone_name => $data) {
        $full_zone_name = 'Վայոց Ձոր - ' . $zone_name;
        $state_code = $data['code']; 
        $standard_price = $data['price']; 
        $existing_zone = $wpdb->get_var($wpdb->prepare(
            "SELECT zone_id FROM wp_woocommerce_shipping_zones WHERE zone_name = %s",
            $full_zone_name
        ));
        if ($existing_zone) {
            $zone_id = $existing_zone;
        } else {
            $wpdb->insert('wp_woocommerce_shipping_zones', array('zone_name' => $full_zone_name, 'zone_order' => 0));
            $zone_id = $wpdb->insert_id;
        }
        $wpdb->delete('wp_woocommerce_shipping_zone_locations', array('zone_id' => $zone_id));
        $wpdb->insert('wp_woocommerce_shipping_zone_locations', array(
            'zone_id' => $zone_id,
            'location_code' => 'CH:' . $state_code, // Assigns the correct modified state code
            'location_type' => 'state'
        ));
        $wpdb->delete('wp_woocommerce_shipping_zone_methods', array('zone_id' => $zone_id));
        $wpdb->insert('wp_woocommerce_shipping_zone_methods', array(
            'zone_id' => $zone_id,
            'method_id' => 'flat_rate',
            'method_order' => 1,
            'is_enabled' => 1
        ));
        $standard_method_id = $wpdb->insert_id;
        
        update_option('woocommerce_flat_rate_' . $standard_method_id . '_settings', array(
            'title' => 'Ստանդարտ Առաքում։ 2-7 աշխ․ օր',
            'cost' => $standard_price,
            'tax_status' => 'none',
            'calculation_type' => 'per_order'
        ));
        $wpdb->insert('wp_woocommerce_shipping_zone_methods', array(
            'zone_id' => $zone_id,
            'method_id' => 'flat_rate',
            'method_order' => 2,
            'is_enabled' => 1
        ));
        $fast_method_id = $wpdb->insert_id;
        
        update_option('woocommerce_flat_rate_' . $fast_method_id . '_settings', array(
            'title' => 'Արագ Առաքում։ 48ժ․ ընթացքում',
            'cost' => $standard_price + 5000,
            'tax_status' => 'none',
            'calculation_type' => 'per_order'
        ));
    }
    echo "✅ All zones, regions, and methods updated successfully for Վայոց Ձոր!";
}
bulk_update_shipping_zones_vayots_dzor();

Comments

Add a Comment