WooCommerce Local Pickup plus 强制运输方式

WooCommerce Local Pickup plus force shipping method

提问人:Diadh 提问时间:11/15/2023 最后编辑:LoicTheAztecDiadh 更新时间:11/15/2023 访问量:29

问:

我正在使用 WooCommerce Local Pickup Plus 插件,以及另一个用于导出订单的插件。我想确保当客户选择到店取货时,订单上的送货地址反映了取货点的地址。

这是我目前所处的位置:

add_action('woocommerce_checkout_create_order', function($order){
    $local_shipping = false;
    foreach($order->get_shipping_methods() as $method){
        if($method->get_method_id() === 'local_pickup_plus'){
            $local_shipping = true;
            break;
        }
    }
    if($local_shipping){
        // all of the local pickup address info
        $order->set_shipping_country('FR');
        $order->set_shipping_address_1($address_1);
        $order->set_shipping_address_2($address_2);  
        $order->set_shipping_postcode($postcode);
        $order->set_shipping_city($city);
    }
});

使用此代码时,我的测试订单上不再有送货地址。所以,我知道我正在影响我想要的东西,但没有返回任何变量。我认为变量不正确,但我很难找到正确的变量。

以前有人遇到过这个问题吗?有人有一些见解吗?

php wordpress woocommerce

评论

0赞 LoicTheAztec 11/15/2023
这很正常,因为变量 、 、 没有在您的代码中定义,因此您会得到一个空的送货地址......您应避免将所选取件地点设置为客户送货地址。尝试在自定义订单项目元数据(或自定义订单元数据)中查找取货地点......$address_1$address_2$postcode$city$order->get_items('shipping')
0赞 Diadh 11/15/2023
感谢您的回复。我相信我真的别无选择,只能以这种方式进行。我将订单导出到软件并使用 WooCommerce 字段,例如“shipping_address_1”、“shipping_city”等。该软件要求运输信息位于这些字段中,因为我无法根据交付方式更改使用的字段。我将尝试使用元,但我注意到的第一件事是地址没有分为城市、地址和邮政编码。

答: 暂无答案