【问题标题】:Hide shipping address on WooCommerce orders based on specific shipping methods [closed]根据特定的送货方式隐藏 WooCommerce 订单的送货地址 [关闭]
【发布时间】:2021-06-08 06:18:57
【问题描述】:

I have two flat rates (flat rate:1 and flat rate:2) I would like to hide the "Shipping Address" in WooCommerce Thank you page when "Flat rate:2" shipping method is chosen.

尝试使用基于 WooCommerce - Hide shipping address when local pickup is chosen on thankyou page 的东西,但我卡住了。

谁能提供一些提示如何实现这一点?

Woocommerce 5.1.0

【问题讨论】:

    标签: php wordpress woocommerce orders shipping-method


    【解决方案1】:

    更新

    您可以使用这个简单的代码 sn-p,根据特定定义的送货方式隐藏订单的送货地址:

    add_filter( 'woocommerce_order_needs_shipping_address', 'filter_order_needs_shipping_address', 10,  );
    function filter_order_needs_shipping_address( $needs_address, $hide, $order ) {
        // Here set your shipping method instance Ids
        $targeted_instances_ids = array( 1, 2 ); 
        
        // Loop through "shipping" order items
        foreach ( $order->get_items('shipping') as $item ) {
            if( in_array( $item->get_instance_id(), $targeted_instances_ids ) ) {
                return false;
            }
        }
        return $needs_address;
    }
    

    代码位于活动子主题(或活动主题)的functions.php 文件中。经过测试并且可以工作。

    注意:运输实例 ID 是运输方式费率 ID 中 : 之后的数字。
    例如,对于flat rate:2,运输实例 ID 是 2

    【讨论】:

    • 首先感谢您的快速响应。我正在尝试添加代码,但在第 9 行收到致命错误:语法错误,意外的“返回”(T_RETURN)。据我了解,如果我设置 $targeted_instances_ids = array (2);统一费率 2 的送货地址应隐藏在订单页面上。
    • @Jeronimo Oups!抱歉,刚刚添加了一个缺少的右圆括号……再试一次,它现在应该可以工作了。如果这个答案回答了你的问题,你可以请accept回答,谢谢。是的,如果您设置$targeted_instances_ids = array (2); 送货地址将隐藏在flat rate:2 送货方式的订单上。
    • 感谢您的宝贵时间。在我添加了正确的代码后,送货地址不会出现在统一费率 1 和统一费率 2 中。只显示帐单地址。 link
    • 好的,感谢您的帮助,我将在我身边调查我能做什么。也许我之前错过了一些东西。
    • 最后我已经解决了你的代码对我不起作用的原因。我不得不将值更改为 'add_filter('woocommerce_order_needs_shipping_address', 'filter_order_needs_shipping_address', 10,2);功能 filter_order_needs_shipping_address( $needs_address, $hide, $order ) {'
    猜你喜欢
    • 2020-06-22
    • 2017-10-12
    • 1970-01-01
    • 2021-05-29
    • 2016-11-11
    • 1970-01-01
    • 2016-12-20
    • 1970-01-01
    相关资源
    最近更新 更多