WC_Shipping_Legacy_Local_Delivery::calculate_shipping( array $package = array() )
Calculate_shipping function.
Description Description
Parameters Parameters
- $package
-
(Optional) (default: array()).
Default value: array()
Source Source
File: includes/shipping/legacy-local-delivery/class-wc-shipping-legacy-local-delivery.php
public function calculate_shipping( $package = array() ) { $shipping_total = 0; switch ( $this->type ) { case 'fixed': $shipping_total = $this->fee; break; case 'percent': $shipping_total = $package['contents_cost'] * ( $this->fee / 100 ); break; case 'product': foreach ( $package['contents'] as $item_id => $values ) { if ( $values['quantity'] > 0 && $values['data']->needs_shipping() ) { $shipping_total += $this->fee * $values['quantity']; } } break; } $rate = array( 'id' => $this->id, 'label' => $this->title, 'cost' => $shipping_total, 'package' => $package, ); $this->add_rate( $rate ); }