Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 获得免费送货的最低订单金额_Php_Wordpress_Woocommerce_Shipping_Shipping Method - Fatal编程技术网

Php 获得免费送货的最低订单金额

Php 获得免费送货的最低订单金额,php,wordpress,woocommerce,shipping,shipping-method,Php,Wordpress,Woocommerce,Shipping,Shipping Method,我在想。。。是否有可能在WooCommerce中获得“免费配送的最低订单金额” 我的想法是这样的: 检查访客所在国家的地理位置 检查装运区区域是否包含访客国家/地区 如果是>>获取该配送区域的配送方式 如果配送方式='free\u shipping'echo'免费配送的最低订单金额='free\u shipping\u订单金额 这是可行的,对吗?但我不能让它发生 以下是我目前掌握的情况: $delivery_zones = WC_Shipping_Zones::get_zones(); $geo

我在想。。。是否有可能在WooCommerce中获得“免费配送的最低订单金额”

我的想法是这样的:

  • 检查访客所在国家的地理位置

  • 检查装运区区域是否包含访客国家/地区

  • 如果是>>获取该配送区域的配送方式

  • 如果配送方式='free\u shipping'echo'免费配送的最低订单金额='free\u shipping\u订单金额

  • 这是可行的,对吗?但我不能让它发生

    以下是我目前掌握的情况:

    $delivery_zones = WC_Shipping_Zones::get_zones();
    $geo                = new WC_Geolocation();
    $user_ip            = $geo->get_ip_address();
    $user_geo           = $geo->geolocate_ip( $user_ip );
    $country            = $user_geo['country'];
    $user_country       = WC()->countries->countries[ $country ];
    
    foreach ((array) $delivery_zones as $key => $delivery_zone ) {
    
        if (strpos($delivery_zone['formatted_zone_location'], $user_country) !== false) {
            foreach ($delivery_zone['shipping_methods'] as $value) {
                break;
            }
    
            if ($value->id == 'free_shipping') {
                // This is where all magic should happen
            }
    
        }
    
    }
    

    免费送货本身有一个最小订单数量设置。当您添加到每个shpping区域时,您可以设置不同的数量…例如$1区20美元,2区30美元。你还有什么要找的吗?另外,您的第4点有点让人困惑,“如果发货方式='免费送货'回送'免费送货的最低订单金额='免费送货'回送订单金额”您希望回送到哪里?您是否希望在签出页面中显示错误/通知?最后但并非最不重要的一点是,您使用哪个钩子附加了上述编写的代码?