WC_Shipping_Method::is_available
Is this method available?
Метод класса: WC_Shipping_Method{}
Хуки из метода
Возвращает
true|false.
Использование
$WC_Shipping_Method = new WC_Shipping_Method(); $WC_Shipping_Method->is_available( $package );
- $package(массив) (обязательный)
- Package.
Код WC_Shipping_Method::is_available() WC Shipping Method::is available WC 10.4.3
public function is_available( $package ) {
$available = $this->is_enabled();
// Country availability (legacy, for non-zone based methods).
if ( ! $this->instance_id && $available ) {
$countries = is_array( $this->countries ) ? $this->countries : array();
switch ( $this->availability ) {
case 'specific':
case 'including':
$available = in_array( $package['destination']['country'], array_intersect( $countries, array_keys( WC()->countries->get_shipping_countries() ) ) );
break;
case 'excluding':
$available = in_array( $package['destination']['country'], array_diff( array_keys( WC()->countries->get_shipping_countries() ), $countries ) );
break;
default:
$available = in_array( $package['destination']['country'], array_keys( WC()->countries->get_shipping_countries() ) );
break;
}
}
return apply_filters( 'woocommerce_shipping_' . $this->id . '_is_available', $available, $package, $this );
}