在 WooCommerce 结账页面上获取实时客户送货位置
Get live customer shipping location on WooCommerce checkout page
我正在尝试在 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 没有 return 这个数据)我需要找出运费国家和运费 state/province在这里 - 有办法做到这一点吗?
运费是根据客户送货地点计算的。
因此您询问了客户送货国家/地区,并声明您可以使用以下专用方法从 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
对象中设置新的国家和州。
我正在尝试在 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 没有 return 这个数据)我需要找出运费国家和运费 state/province在这里 - 有办法做到这一点吗?
运费是根据客户送货地点计算的。
因此您询问了客户送货国家/地区,并声明您可以使用以下专用方法从 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
对象中设置新的国家和州。