Skip to content

Instantly share code, notes, and snippets.

@Nishadup
Nishadup / function.php
Created September 29, 2017 08:32
Restrict the shipping methods based on state and zip code
add_filter('woocommerce_package_rates', 'wf_restrict_shipping_methods_based_on_state_and_zipcode', 10, 2);
function wf_restrict_shipping_methods_based_on_state_and_zipcode($available_shipping_methods, $package){
$destination = $package['destination'];
$dest_postcode = $destination['postcode'];
$dest_state = $destination['state'];
//Config this array with state code, zip code, and services you have to show.
$restrict_methods = array(
'CA'=> array(
//Show only UPS Ground for California have zip code start with 910
@Nishadup
Nishadup / function.php
Last active October 24, 2017 14:40
Round to weight and dimensions nearest upper integer if destination country is Switzerland. Work with WooCommerce FedEx plugin https://www.xadapter.com/product/woocommerce-fedex-shipping-plugin-with-print-label/
add_filter('wf_fedex_request', 'remove_fraction_for_switz', 10, 2);
function remove_fraction_for_switz($request, $order) {
if ($request['RequestedShipment']['Shipper']['Address']['CountryCode'] == 'CH') {
$request['RequestedShipment']['TotalWeight']['Value'] = ceil($request['RequestedShipment']['TotalWeight']['Value']);
foreach ($request['RequestedShipment']['RequestedPackageLineItems'] as $key => &$value) {
if( isset( $value['Dimensions'] ) ){
$value['Dimensions']['Length'] = ceil( $value['Dimensions']['Length'] );
$value['Dimensions']['Width'] = ceil( $value['Dimensions']['Width'] );
$value['Dimensions']['Height'] = ceil( $value['Dimensions']['Height'] );
$value['Weight']['Value'] = ceil( $value['Weight']['Value'] );
@Nishadup
Nishadup / function.php
Last active November 27, 2017 11:28
Change Estimated delivery time format in cart/checkout page with FedEx plugin. https://www.xadapter.com/product/woocommerce-fedex-shipping-plugin-with-print-label/
add_filter( 'wf_estimate_delivery_date_format', 'change_estimate_delivery_date_format', 15, 2 );
function change_estimate_delivery_date_format($current_formate){
return 'l, F jS Y'; // Give here desired format, This format gives output like Tuesday, September 13th 2017.
}
@Nishadup
Nishadup / functions.php
Created August 16, 2017 14:52 — forked from xadapter/functions.php
Alter WooCommerce Product Weight and Dimension Dynamically
function filter_get_hook_prefix_weight($this_weight, $instance) {
if (!$this_weight || $this_weight < 0.6) $this_weight = .6;
return $this_weight;
}
function filter_get_hook_prefix_height($this_height, $instance) {