[英]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.