为了账号安全,请及时绑定邮箱和手机立即绑定

在 WooCommerce 结帐页面上获取实时客户发货位置

在 WooCommerce 结帐页面上获取实时客户发货位置

PHP
繁花不似锦 2021-06-30 14:58:35
我正在尝试在 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 不返回此数据)我需要在这里找出运输国家和运输州/省 - 有没有办法做到这一点?
查看完整描述

1 回答

?
慕斯709654

TA贡献1840条经验 获得超5个赞

运费是根据客户发货地点计算的。


因此,您询问了客户的运输国家/地区,并说明您可以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_CustomerObject中设置新的国家和州。


查看完整回答
反对 回复 2021-07-02
  • 1 回答
  • 0 关注
  • 125 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信