Skip to content

Instantly share code, notes, and snippets.

View dangoodman's full-sized avatar

dangoodman dangoodman

View GitHub Profile
@dangoodman
dangoodman / functions.php
Created March 16, 2017 14:58
WooCommerce: Hide shipping option labels
<?php
// Paste everything below this line to your theme's functions.php file.
// Hide shipping option labels.
// Example:
// — Regular Shipping: $20 => $20
// — Express Shipping: $30 => $30
// — Free Shipping => Free
add_filter('woocommerce_cart_shipping_method_full_label', function($label) {
@list(, $price) = explode(':', $label);
@dangoodman
dangoodman / functions.php
Created March 9, 2017 11:49
Woocommerce: Hide specified shipping options when shipping to PO boxes
<?php
// Paste everything below this line to your theme's functions.php file.
add_filter('woocommerce_package_rates', function($rates, $package) {
$destination = $package['destination'];
// Put postcode, address 1 and address 2 into an array
$check_address = array(
$destination['address'],
@dangoodman
dangoodman / functions.php
Created January 12, 2017 20:34
Hide duplicate shipping options in Woocommerce
<?php
// Paste everything below this line to your theme's functions.php file.
add_filter('woocommerce_package_rates', function($rates) {
/** @var WC_Shipping_Rate[] $rates */
/** @var WC_Shipping_Rate[] $uniqueRates */
$uniqueRates = array();
foreach ($rates as $key => $rate) {
@dangoodman
dangoodman / functions.php
Last active January 12, 2017 20:37
Round WooCommerce shipping rates to upper close 0.05 (for Swiss franc)
<?php
// Paste everything below this line to your theme's functions.php file.
add_filter('woocommerce_package_rates', 'round_shipping_price_for_swiss_franc');
function round_shipping_price_for_swiss_franc($rates)
{
if (is_array($rates)) {
foreach ($rates as $rate) {
$rate->cost = ceil($rate->cost / 0.05) * 0.05;