WooCommerce: Flat Rate Calculation Based on Weight (Without a Plugin!)

We already talked about weight based shipping and in this post we found out how to charge different flat rates based on shipping weight thresholds.

But now I want to show you how you can use the default “Flat Rate” to calculate shipping costs based on cart weight, thanks to a multiplier. For example, your shipping rate might be “$5 for each Kg” – as you know the default “Flat Rate” only allows you to define one rate e.g. $10.

So, what if you want to calculate shipping charges by weight? Well, here’s a simple workaround for you. Continue reading WooCommerce: Flat Rate Calculation Based on Weight (Without a Plugin!)

WooCommerce: How to Assign Free Shipping to a Single Product?

Believe it or not, the answer to this very frequent question is inside the WooCommerce settings… so don’t worry too much about coding if you’re not a developer!

From the WooCommerce shipping rates, you can select “Free Shipping” as a method but that would apply to ALL products – so how do you override the shipping settings and allow a single product to have free shipping? Continue reading WooCommerce: How to Assign Free Shipping to a Single Product?

WooCommerce: Only Ship to Predefined “Local Pickup” Addresses

Woo 2.6 introduced Shipping Zones – and with that we can play with simple PHP (and JQuery) to accomplish lots of “advanced” shipping rules, such as local pickup.

This time, I’ve tested a snippet to add a dropdown to the billing section where users go choose the pickup destination. As a result, the shipping address is automatically populated, and so is the shipping method. What do you think? Continue reading WooCommerce: Only Ship to Predefined “Local Pickup” Addresses

WooCommerce: How to Setup Tiered Shipping Rates by Order Amount

The new shipping zone management that was introduced with Woo 2.6 gives us the chance to add flat rate, free shipping and local pick-up methods by default.

But what if a client requires 3 different rates depending on the order amount (tiered shipping)? For example: “For orders up to $100, shipping = $5; for orders up to $250, shipping = $2; for orders above $500, shipping = free”.

Is this possible without using a plugin? Well, the answer, as usual, is absolutely yes! Continue reading WooCommerce: How to Setup Tiered Shipping Rates by Order Amount

WooCommerce: Add House Number Field @ Checkout

A Dutch fan told me in Holland they’re really strict about addresses 🙂 In particular, all Dutch billing/shipping addresses require the “House Number”.

This must be therefore placed on the checkout, AFTER & BESIDE the Address_1 field and made required. Also, it’s a good idea to make this show in the Admin Order, the thank you page and the notification Emails. Continue reading WooCommerce: Add House Number Field @ Checkout

WooCommerce: Limit Shipping to Only One State

Today’s snippet has been widely requested by many readers, clients and WooCommerce fans. We already saw in the past how to Limit State Dropdowns to One State Only (for both Shipping & Billing) and How to Sell to one State only (Billing).

However, we never covered a much more common setting: what happens when Billing is allowed to every state but Shipping is limited?

This time, I’ve reached out to Diego Zanella, a WooCommerce genius who is also the author of the Aelia Currency Switcher plugin for WooCommerce. Continue reading WooCommerce: Limit Shipping to Only One State

WooCommerce: “You Only Need $$$ to Get Free Shipping!” @ Cart

This is a very cool snippet that many of you should use to increase your average order value. Ecommerce customers who are near the “free shipping” threshold will try to add more products to cart in order to qualify for free shipping. It’s pure psychology.

Here’s how we show a simple message on the WooCommerce Cart page. Enjoy!

Continue reading WooCommerce: “You Only Need $$$ to Get Free Shipping!” @ Cart

WooCommerce: Add Shipping Notices on Checkout Page

A WooCommerce client wanted to show some text in the checkout page, and specifically “Please allow 5-10 business days for delivery after order processing.” so that customers are aware of how shipping works. This is a vital information you should disclose on every page of your ecommerce website, and of course on the checkout page too. Continue reading WooCommerce: Add Shipping Notices on Checkout Page

WooCommerce: Hide Shipping Rates if Free Shipping Available

If Free Shipping is available, you possibly don’t want to show the other paid shipping options. WooCommerce shows by default all shipping rates that match a given shipping zone, so it is not possible to achieve this from the settings alone.

You need PHP for that. In this example, we will disable all shipping methods but “Free Shipping” so that free shipping remains the only possible shipping method. And here’s the code to add to your functions.php 🙂 Continue reading WooCommerce: Hide Shipping Rates if Free Shipping Available