1 回答

TA貢獻1786條經(jīng)驗 獲得超13個贊
因為WC()->shipping->get_shipping_methods()不加載在每個運輸區(qū)域設(shè)置的運輸方式,它只加載您可以在任何運輸區(qū)域設(shè)置的所有可用運輸方式,以及所有默認值和可用的設(shè)置字段……
請記住,送貨方式成本和設(shè)置由送貨區(qū)域設(shè)置,并與位置(地區(qū)、國家、州或郵政編碼)相關(guān)。
因此,由于每個運輸區(qū)域的運輸方式費率不同,您需要首先獲得在運輸部分設(shè)置中設(shè)置的一個或所有運輸區(qū)域。
然后,您可以從送貨區(qū)獲取為其設(shè)置的所有送貨方式費率,例如:
// Get all your existing shipping zones IDS
$zone_ids = array_keys( array('') + WC_Shipping_Zones::get_zones() );
// Loop through shipping Zones IDs
foreach ( $zone_ids as $zone_id )
{
// Get the shipping Zone object
$shipping_zone = new WC_Shipping_Zone($zone_id);
// Get all shipping method values for the shipping zone
$shipping_methods = $shipping_zone->get_shipping_methods( true, 'values' );
// Loop through each shipping methods set for the current shipping zone
foreach ( $shipping_methods as $instance_id => $shipping_method )
{
// The dump of protected data from the current shipping method
var_dump($shipping_method);
}
}
這一次,正如您將看到的,您將獲得在配送區(qū)域中設(shè)置的每種配送方式費率的所有設(shè)置(自定義標簽、成本和其他設(shè)置)。
- 1 回答
- 0 關(guān)注
- 156 瀏覽
添加回答
舉報