View gist:2ae0b0a57fac406abcabef8556645de3
add_filter('ph_ups_label_shipping_method', 'ph_ups_label_shipping_method', 10, 2); | |
function ph_ups_label_shipping_method( $shippingmethod, $order ){ | |
//Config this array | |
$shipping_method_map = array( | |
'free_shipping' => '03', | |
'flat_rate' => '12', | |
); |
View functions.php
add_filter('xa_canadapost_rate_request', 'sanitize_postal_code_for_rate_req', 10, 2); | |
function sanitize_postal_code_for_rate_req($xmlRequest, $package){ | |
$xml_obj = new SimpleXMLElement($xmlRequest); | |
if( isset($xml_obj->{'destination'}->{'domestic'}->{'postal-code'}) ){ | |
$xml_obj->{'destination'}->{'domestic'}->{'postal-code'} = str_replace("-","",$xml_obj->{'destination'}->{'domestic'}->{'postal-code'} ); | |
} | |
$doc = new DOMDocument(); | |
$doc->formatOutput = TRUE; | |
$doc->loadXML($xml_obj->asXML()); |
View functions.php
add_filter('wf_fedex_calculate_shipping_request', 'modify_fedex_request', 10, 2); | |
function modify_fedex_request($fedex_requests, $fedex_packages){ | |
$insurance_amount = 100; // New Insurance amount | |
foreach ($fedex_requests as $req_no => &$request) { | |
if( isset($request['RequestedShipment']['TotalInsuredValue']['Amount']) ) { | |
$count = 0; | |
foreach( $request['RequestedShipment']['RequestedPackageLineItems'] as $key => $item ) { | |
$request['RequestedShipment']['RequestedPackageLineItems'][$key]['InsuredValue']['Amount'] = $insurance_amount; |
View functions.php
add_filter('wf_fedex_request','custom_label_orientation', 10, 2 ); | |
function custom_label_orientation($request, $order){ | |
$fedex_settings = get_option( 'woocommerce_wf_fedex_woocommerce_shipping_settings', null ); | |
$selected_service = $request['RequestedShipment']['ServiceType']; | |
$custom_services = $fedex_settings['services']; | |
$shipping_charge = $order->get_total_shipping(); | |
$handling = $shipping_charge; | |
// Cost adjustment % |
View function.php
add_filter('wf_ups_rate', 'wf_modify_ups_rate', 10, 2); | |
function wf_modify_ups_rate($xml, $packages){ | |
$amount_to_add = 3; //change this with your value to be added with each packages | |
if($xml){ | |
for( $i=0; $i<count($packages); $i++ ){ | |
//if negotiated rate | |
if( isset($xml->RatedShipment->NegotiatedRates->NetSummaryCharges->GrandTotal->MonetaryValue) ){ | |
if( property_exists($xml->RatedShipment->NegotiatedRates->NetSummaryCharges, 'TotalChargesWithTaxes') ){ | |
$xml->RatedShipment->NegotiatedRates->NetSummaryCharges->TotalChargesWithTaxes->MonetaryValue += $amount_to_add; |
View function.php
add_filter( 'wf_ups_rate_request', 'adjust_package_weight', 20, 2); | |
function adjust_package_weight( $rate_request_data, $package ){ | |
$package_extra_weight = 5; | |
$req_arr = explode('<?xml version="1.0" ?>', $rate_request_data); | |
$xml_obj = new SimpleXMLElement( $req_arr[2] ); | |
foreach ($xml_obj->Shipment->Package as $key => $package) { | |
$package->PackageWeight->Weight += $package_extra_weight; | |
} |
View function.php
add_filter('wf_ups_rate', 'wf_modify_ups_rate', 10, 2); | |
function wf_modify_ups_rate($xml, $packages){ | |
$amount_to_add = 3; //change this with your value to be added with each packages | |
if($xml){ | |
for( $i=0; $i<count($packages); $i++ ){ | |
//if negotiated rate | |
if( isset($xml->RatedShipment->NegotiatedRates->NetSummaryCharges->GrandTotal->MonetaryValue) ){ | |
if( property_exists($xml->RatedShipment->NegotiatedRates->NetSummaryCharges, 'TotalChargesWithTaxes') ){ | |
$xml->RatedShipment->NegotiatedRates->NetSummaryCharges->TotalChargesWithTaxes->MonetaryValue += $amount_to_add; |
View function.php
add_filter('wf_custom_tracking_message', 'update_tracking_message', 10, 3); | |
function update_tracking_message($current_msg, $language, $order){ | |
$wpml_language = get_post_meta( $order, 'wpml_language', true); | |
if( $wpml_language == 'fr-ca' ){ | |
return "Votre commande a été expédiée le [DATE] via [SERVICE]. Pour suivre les envois, veuillez suivre le lien correspondant aux numéros d'expédition [ID]"; | |
}else{ | |
return "Your order was shipped on [DATE] via [SERVICE]. To track shipment, please follow the link(s) [ID]"; |
View function.php
add_filter( 'woocommerce_package_rates', 'wf_add_charge_if_exceed_cost', 15, 2 ); | |
function wf_add_charge_if_exceed_cost( $available_shipping_methods, $package ){ | |
$mothods = array('wf_woocommerce_shipping_pro'); //Set methods to adjust | |
//Config this array with country code, state code and rate to be added. | |
$destination_array = array( | |
'US' => array( | |
'NY' => 5, | |
'CA' => 6, |
View function.php
add_filter('woocommerce_package_rates', 'xa_hide_shipping_methods_if_free_flaterate_exist', 10, 2); | |
if(!function_exists('xa_hide_shipping_methods_if_free_flaterate_exist')){ | |
function xa_hide_shipping_methods_if_free_flaterate_exist( $available_shipping_methods, $package ){ | |
$hide_if_shpping_method_exist = array('free_shipping','flat_rate'); //If the shipping methods given here is exists. | |
$method_to_hide = array('wf_australia_post'); //Hide all the shipping method provided here. | |
$do_hide = false; | |
foreach ($hide_if_shpping_method_exist as $method) { |
NewerOlder