我正在尝试在WooCommerce内的运费下,在结帐页面上将估计的交货时间添加到订单中。
我已经知道如何执行此操作,例如:
add_action( 'woocommerce_after_shipping_rate', 'blm_action_after_shipping_rate', 20, 2 );
function blm_action_after_shipping_rate ( $method, $index ) {
if( is_cart() ) {
return; // Exit on cart page
}
// Use $method->method_id in here to check delivery option
}
现在,要能够估算出所需的天数(不幸的是,运送API不会返回此数据),我需要在此处查找运送国家和运送州/省-有办法吗?>
答案 0 :(得分:1)
运费是根据客户的送货地点计算得出的。
因此,您询问了客户的运送国家/地区,并声明可以使用以下专用方法从WC_Customer
对象中获取商品:
add_action( 'woocommerce_after_shipping_rate', 'blm_action_after_shipping_rate', 20, 2 );
function blm_action_after_shipping_rate ( $method, $index ) {
if( is_cart() ) {
return; // Exit on cart page
}
$shipping_country = WC()->customer->get_shipping_country();
$shipping_state = WC()->customer->get_shipping_state();
// Testing output
echo '<br><small>Country code:' . $shipping_country . ' | State code: ' . $shipping_state . '</small>';
}
代码进入活动子主题(或活动主题)的function.php文件中。经过测试,可以正常工作。
如果客户更改国家和州,则刷新数据,并在WC_Customer
对象中设置新的国家和州。