簡體   English   中英

在 WooCommerce 中以編程方式設置運輸設置

[英]Set shipping settings programmatically in WooCommerce

我在 Wordpress 插件上工作,通過 API 管理 woocommerce。 我嘗試設置運費。 我可以使用以下代碼添加區域並指定運輸方式:

$new_zone_shipping  =   new WC_Shipping_Zone();
$new_zone_shipping  ->  set_zone_name("Giza");
$new_zone_shipping  ->  add_location('EG:EGGZ', 'state');
$new_zone_shipping  ->  add_shipping_method('flat_rate');
$new_zone_shipping  ->  save();

現在我只用於 flat_rate。 固定固定成本的可能簡單方法?

我在 WordPress 數據庫上搜索后解決了這個問題。

WC_Shipping_Zone方法add_shipping_method()返回運輸方法實例 ID。

此實例 ID 在wp_woocommerce_shipping_zones表中獲取,並在wp_options數據庫表(如woocommerce_flat_rate_1_settings )的option_name列中使用,其中flat_rate是運輸方式 ID (slug)1是運輸方式實例 ID。

所以工作代碼是:

$zone_name     = 'Giza';
$country_state = 'EG:EGGZ';
$method_id     = 'flat_rate';
$shipping_cost = 22;

$new_zone_shipping = new WC_Shipping_Zone();
$new_zone_shipping->set_zone_name( $zone_name );
$new_zone_shipping->add_location( $country_state, 'state' );

$instance_id = $new_zone_shipping->add_shipping_method( $method_id );

$new_zone_shipping->save();

add_option( 'woocommerce_'. $method_id .'_'. $instance_id .'_settings', array(
    'title'      => $method_id,
    'tax_status' => 'taxable',
    'cost'       => $cost
),'' , 'yes' );

重要提示:不要忘記清理所有數據值,因為這只是一個簡單的示例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM