[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

init_oik_shipping() – Implement "plugins_loaded" action for oik-weightcountry-shipping

Description

Implement "plugins_loaded" action for oik-weightcountry-shipping

Usage

init_oik_shipping();

Parameters

Returns

void

Source

File name: oik-weightcountry-shipping/oik-weightcountry-shipping.php
Lines:
1 to 100 of 359
function init_oik_shipping() {

  if ( !class_exists( 'WC_Shipping_Method' ) ) {
    return;
  }

  
/**
   * Weight/Country shipping class WooCommerce Extension
   *
   * Implements shipping charges by weight and country
   *  
   */
  #[\AllowDynamicProperties]
  class OIK_Shipping extends WC_Shipping_Method {
  
  
    
/**
   * Titles for the selected country group
   *
   */
    public $countrygroup_title;
  
    
/**
     * Constructor for OIK_Shipping class
     *
     * Sets the ID to 'awd_shipping'
     * 
     */
    function __construct() {
      $this->id           = 'awd_shipping'; // Retain the original code rather than use 'oik_shipping';
      $this->method_title = __( 'Weight/Country', 'oik-weightcountry-shipping' );

      $this->admin_page_heading     = __( 'Weight and country based shipping', 'oik-weightcountry-shipping' );
      $this->admin_page_description = __( 'Define shipping by weight and country', 'oik-weightcountry-shipping' );

      add_action( 'woocommerce_update_options_shipping_awd_shipping', array( &$this, 'process_admin_options' ) );

      $this->init();
      $this->display_country_groups();
    }

    function init() {
      $this->init_form_fields();
      $this->init_settings();

      $this->enabled          = $this->get_option('enabled');
      $this->title            = $this->get_option('title');
      $this->availability     = 'specific';
      $this->country_group_no  = $this->get_option('country_group_no');
      $this->countries       = $this->get_option('countries');
      $this->type             = 'order';
      $this->tax_status       = $this->get_option('tax_status');
      $this->fee              = $this->get_option('fee');
      $this->options      = isset( $this->settings['options'] ) ? $this->settings['options'] : '';
      $this->options      = (array) explode( "\n", $this->options );
      if (empty($this->countries)) {
        $this->availability = $this->settings['availability'] = 'all';
      }
      $this->countrygroup_title = $this->title;
    }

    function init_form_fields() {

      $woocommerce = function_exists('WC') ? WC() : $GLOBALS['woocommerce'];

      $this->form_fields = array(
        'enabled'    => array(
          'title'   => __( 'Enable/Disable', 'oik-weightcountry-shipping' ),
          'type'    => 'checkbox',
          'label'   => __( 'Enable this shipping method', 'oik-weightcountry-shipping' ),
          'default' => 'no',
        ),
        'title'      => array(
          'title'       => __( 'Method Title', 'oik-weightcountry-shipping' ),
          'type'        => 'text',
          'description' => __( 'This controls the title which the user sees during checkout.', 'oik-weightcountry-shipping' ),
          'default'     => __( 'Regular Shipping', 'oik-weightcountry-shipping' ),
        ),
        'tax_status' => array(
          'title'       => __( 'Tax Status', 'oik-weightcountry-shipping' ),
          'type'        => 'select',
          'description' => '',
          'default'     => 'taxable',
          'options'     => array(
            'taxable' => __( 'Taxable', 'oik-weightcountry-shipping' ),
            'none'    => __( 'None', 'oik-weightcountry-shipping' ),
          ),
        ),
        'fee'        => array(
          'title'       => __( 'Handling Fee', 'oik-weightcountry-shipping' ),
          'type'        => 'text',
          'description' => __( 'Fee excluding tax, e.g. 3.50. Leave blank to disable.', 'oik-weightcountry-shipping' ),
          'default'     => '',
        ),
        'options'       => array(
          'title'       => __( 'Shipping Rates', 'oik-weightcountry-shipping' ),
          'type'        => 'textarea',
          'description' => sprintf( __( 'Set your weight based rates in %1$s for country groups (one per line). <br /> Syntax: Max weight|Cost|Country Group number|Method Title<br />Example: 10|6.95|3| <br />For decimal, use a dot not a comma.', 'oik-weightcountry-shipping' ),  get_option( 'woocommerce_weight_unit' ) ),
          'default'     => '',
        ),
 
[1][2][3][4]Next »
 View on GitHub View on Trac

Called by

1 to 1 of 1
  • init_oik_weightcountry_l10n() – Implement ‘woocommerce_init’ to load l10n versions and then initialise weight/country shipping

Invoked by

    Calls

    1 to 8 of 8
    • OIK_Shipping::display_country_groups() –
    • OIK_Shipping::get_countrygroup() – Retrieve the number of the country group for the country selected by the user on checkout
    • OIK_Shipping::get_rates_by_countrygroup() – Retrieves all rates available for the selected country group
    • OIK_Shipping::init() –
    • OIK_Shipping::init_form_fields() –
    • OIK_Shipping::pick_smallest_rate() – Picks the right rate from available rates based on cart weight
    • OIK_Shipping::set_countrygroup_title() – Set the title for this country group rate
    • OIK_Shipping::sort_ascending() – Sort the rates array by ascending weight

    Call hooks

    Function name: init_oik_shipping
    Plugin ref: oik-weightcountry-shipping – WooCommerce extension
    Version: 1.4.3
    Sourcefile: oik-weightcountry-shipping.php
    File ref: oik-weightcountry-shipping.php
    API type: action
    Deprecated?: No
    API Letters: I,O,S

    Published: March 14, 2017 | Last updated: March 14, 2017

    Information

    Function name: init_oik_shipping
    Plugin ref: oik-weightcountry-shipping – WooCommerce extension
    Version: 1.4.3
    Sourcefile: oik-weightcountry-shipping.php
    File ref: oik-weightcountry-shipping.php
    API type: action
    Deprecated?: No
    API Letters: I,O,S

    Recent plugin updates

    oik-weight-zone-shipping v0.2.13 oik-weight-zone-shipping v0.2.13 has been tested with WooCommerce 10.1.2 and WordPress 6.8.2 ...
    SB Children Block v1.3.0 Upgrade to SB Children Block v1.3.0 for support for PHP 8.3 and PHP 8.4  ...
    oik v4.15.3 Update to oik v4.15.3 for a couple of security fixes. Tested with WordPress 6.8.2 ...
    oik-privacy-policy v1.4.9 Update to oik-privacy-policy v1.4.9 for a security fix. Tested with WordPress 6.8.2 and PHP 8.3 and PHP 8.4 ...
    oik-nivo-slider v1.17.0 oik-nivo-slider v1.17.0 introduces the Nivo slider block - oik-nivo-slider/nivo. ...

    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-2025. All rights reserved.


    Website designed and developed by Herb Miller of Bobbing Wide
    Proudly powered by WordPress and oik-plugins

    WordPress version: 6.8.3

    Gutenberg version: 21.7.0

    PHP version: 8.2.29