WC_Order::needs_shipping_address PHP Method

needs_shipping_address() public method

Checks if an order needs display the shipping address, based on shipping method.
public needs_shipping_address ( ) : boolean
return boolean
    public function needs_shipping_address()
    {
        if ('no' === get_option('woocommerce_calc_shipping')) {
            return false;
        }
        $hide = apply_filters('woocommerce_order_hide_shipping_address', array('local_pickup'), $this);
        $needs_address = false;
        foreach ($this->get_shipping_methods() as $shipping_method) {
            // Remove any instance IDs after :
            $shipping_method_id = current(explode(':', $shipping_method['method_id']));
            if (!in_array($shipping_method_id, $hide)) {
                $needs_address = true;
                break;
            }
        }
        return apply_filters('woocommerce_order_needs_shipping_address', $needs_address, $hide, $this);
    }

Usage Example

示例#1
0
 /**
  * Test: needs_shipping_address
  */
 function test_needs_shipping_address()
 {
     $object = new WC_Order();
     $this->assertFalse($object->needs_shipping_address());
     $object = WC_Helper_Order::create_order();
     $this->assertTrue($object->needs_shipping_address());
 }
WC_Order