[oik] plugins.com

WordPress plugins and themes

  • Home
  • About
    • lazy shortcodes
    • smart shortcodes
    • oik base plugin
      • oik – donate
      • oik PayPal buttons
      • oik installation
      • oik Button Shortcode button
      • oik changelog
      • oik FAQ
      • oik plugins on SVN
      • oik plugins on GitHub
  • Plugins
    • oik base plugin
    • FREE oik plugins
    • WordPress plugins
    • Premium oik plugins
    • Bespoke oik plugins
  • Shortcodes
    • Shortcode examples
  • Blocks
    • Block examples
  • APIs
    • ALL action and filter hooks
  • Blog

OIK_Shipping_Pro::calculate_shipping() – Calculate shipping rates

You appear to be a bot. Output may be restricted

Description

Calculate shipping rates

Now supports multiple rates for different shipping methods which need to be identified in the countrygroup_title field for each defined rate.

Usage

OIK_Shipping_Pro::calculate_shipping( $package );

Parameters

$package
( array ) optional –

Returns

void

Source

File name: oik-weightcountry-shipping-pro/class-oik-shipping-pro.php
Lines:
1 to 31 of 31
  function calculate_shipping( $package = array() ) {
    //bw_trace2();
    $woocommerce = function_exists('WC') ? WC() : $GLOBALS['woocommerce'];
    $country_group = $this->get_countrygroup($package);
    $rates = $this->get_rates_by_countrygroup( $country_group );
    //bw_trace2( $rates, "rates" );
    $weight = $woocommerce->cart->cart_contents_weight;
    //bw_trace2( $weight, "cart contents weight" );

    $picked_rates = $this->pick_rates_for_weight( $rates, $weight );
    if ( count( $picked_rates ) ) {
      foreach ( $picked_rates as $key => $data ) {
        $final_rate = $data['rate'];
        if ( is_numeric( $final_rate ) ) {
          if ( $this->fee > 0 && $package['destination']['country'] ) {
             $final_rate += $this->fee;
          }
          $rate = array( 'id' => $this->id . $key
                      , 'label' => $data['title']
                      , 'cost' => $final_rate
                      , 'taxes' => ''
                      , 'calc_tax' => 'per_order'
                      );
          $this->add_rate( $rate );
        } else {
          add_filter( "woocommerce_cart_no_shipping_available_html", array( $this, 'no_shipping_available') );
        }
      } 
    }
  }
 
 View on GitHub

Published: October 27, 2015 | Last updated: October 27, 2015

Information

Function name: OIK_Shipping_Pro::calculate_shipping
Class ref: OIK_Shipping_Pro
Plugin ref: Multi rate weight/country shipping for WooCommerce
Version: 1.4.1
Sourcefile: class-oik-shipping-pro.php
File ref: class-oik-shipping-pro.php
Deprecated?: No
API Letters:

Recent plugin updates

oik v4.9.2 Upgrade to oik v4.9.2 for support for PHP 8.1 and PHP 8.2. ...
oik-block v0.3.0 oik-block v0.3.0 no longer displays the Editor selection meta box ...
oik-blocks v1.4.3 Upgrade to oik-blocks v1.4.3 for PHP 8.2 support. ...
cookie-cat v1.4.6 Upgrade to cookie-cat v1.4.6 for PHP 8.1 & PHP 8.2 support. ...
oik-fields v1.54.0 oik-fields v1.54.0 caters for the deprecation of get_page_by_title() in WordPress 6.2. ...

Plugins

  • All Plugins
  • oik base plugin
  • FREE oik plugins
  • WordPress plugins
  • Premium oik plugins

Themes

  • FREE themes
  • Bespoke themes
  • Premium themes

Blocks

  • All Blocks
  • Block examples
  • About Blocks

Shortcodes

  • All Shortcodes
  • Shortcode examples
  • About Shortcodes

Reference

  • About APIs
  • All APIs
  • All Classes
  • All Files
  • All Hooks

Support

  • Contact
  • Cookies policy
  • Get API key
  • Privacy
  • Request support
  • Sitemap
  • Stay informed
  • Terms and Conditions
oik-plugins
Email: herb@bobbingwide.com

Weight shipping plugins

Find out which cart weight shipping plugin you need for your WooCommerce site.
Which cart weight based plugin do I need?

Site:  www.oik-plugins.com
© Copyright oik-plugins 2011-2023. All rights reserved.


Website designed and developed by Herb Miller of Bobbing Wide
Proudly powered by WordPress and oik-plugins
WordPress 6.3.1. PHP: 7.4.33. Memory limit: 768M