Created
June 16, 2016 14:14
-
-
Save phoenixMag00/fa2f184f0f704fcc9060451e098d5aae to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
if ( in_array( 'woocommerce/woocommerce.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) ) ) { | |
function your_shipping_method_init() { | |
if ( ! class_exists( 'WC_Your_Shipping_Method' ) ) { | |
class WC_Your_Shipping_Method extends WC_Shipping_Method { | |
/** | |
* Constructor for your shipping class | |
* | |
* @access public | |
* @return void | |
*/ | |
public function __construct() { | |
$this->id = 'custom_local_delivery_nova'; // Id for your shipping method. Should be uunique. | |
$this->method_title = __( 'Local Delivery for Northern Virginia, Maryland and DC (Fee Added at Checkout)' ); // Title shown in admin | |
$this->method_description = __( 'Local Delivery for Northern Virginia, Maryland and DC (Fee Added at Checkout)' ); // Description shown in admin | |
$this->enabled = "yes"; // This can be added as an setting but for this example its forced enabled | |
$this->title = "Local Delivery for Northern Virginia, Maryland and DC (Fee Added at Checkout)"; // This can be added as an setting but for this example its forced. | |
$this->init(); | |
} | |
/** | |
* Init your settings | |
* | |
* @access public | |
* @return void | |
*/ | |
function init() { | |
// Load the settings API | |
$this->init_form_fields(); // This is part of the settings API. Override the method to add your own settings | |
$this->init_settings(); // This is part of the settings API. Loads settings you previously init. | |
// Save settings in admin if you have any defined | |
add_action( 'woocommerce_update_options_shipping_' . $this->id, array( $this, 'process_admin_options' ) ); | |
} | |
/** | |
* calculate_shipping function. | |
* | |
* @access public | |
* @param mixed $package | |
* @return void | |
*/ | |
public function calculate_shipping( $package ) { | |
$rate = array( | |
'id' => $this->id, | |
'label' => $this->title, | |
'cost' => '0', | |
'calc_tax' => 'per_order' | |
); | |
// Register the rate | |
$this->add_rate( $rate ); | |
} | |
} | |
} | |
} | |
add_action( 'woocommerce_shipping_init', 'your_shipping_method_init' ); | |
function add_your_shipping_method( $methods ) { | |
$methods[] = 'WC_Your_Shipping_Method'; | |
return $methods; | |
} | |
add_filter( 'woocommerce_shipping_methods', 'add_your_shipping_method' ); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment