How To Become an Advanced WooCommerce Developer?

Well, get ready for a 2,700+ words article: becoming a WooCommerce expert won’t take you just a couple of days.

A few months won’t be enough either.

If you want to join that very small group of advanced freelancers and agencies that exclusively work with WooCommerce clients and charge top dollar, if you want to become a WooCommerce authority and build a successful career, if you want clients to come to you as opposed to you chasing them, well – you need to digest and assimilate what I’m about to tell you.

In this (long) article I will help you understand what is advanced WooCommerce, and then break this down into 5 simple steps.

Five makes-a-lot-of-sense steps you should follow in order to complete your journey.

So, want to become a WooCommerce ninja? A WooCommerce wrangler? A WooCommerce guru?

Well, despite I dislike all those ninja-like “terms”, let me tell you a thing or two. Then, join me in the comments and let’s keep the conversation going. Continue reading How To Become an Advanced WooCommerce Developer?

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?

What’s the Best Hosting for a WooCommerce Website?

As a WooCommerce user, WooCommerce blogger and WooCommerce developer I often hear this question: “What’s the best hosting for WooCommerce?“.

Well, first and foremost, there is no “best” hosting for WooCommerce (and WordPress in general). There are so many choices out there that defining the “best” is impossible. Besides, if there were a “best” hosting platform, there would be only one hosting company left in business. Continue reading What’s the Best Hosting for a WooCommerce Website?

How to Customize Storefront Theme in a Few Clicks (and without Coding)

This is a guest post by Towhidul Islam of Atlantis Theme – if you like the article, make sure to thank him in the comments!

With 100,000 active users, Storefront is dubbed as the “official WooCommerce theme” as it is designed, developed and maintained by WooCommerce Core developers themselves.

It follows the same WooCommerce philosophy – flexibility: the latest version has 48 Action Hooks & 61 Filter Hooks (Storefront Hook Reference by WooCommerce).

One of the most common questions while working with any WordPress theme is: “How I can tweak the look and layout of my theme?“. For experienced WordPress users, this is not an issue – but for users who don’t want to get their hand dirty with CSS and PHP, it can be daunting.

The good news is that there are Storefront plugins that solve this exact problem. And you don’t have to learn coding to modify the look of your Storefront theme 🙂 Continue reading How to Customize Storefront Theme in a Few Clicks (and without Coding)

WooCommerce: Check if Product Category is in the Order

We already saw how to check if a product category is in the cart, if a product ID is in the cart, and if a product ID is in the order… now it’s time to complete the series with the latest addition!

For this client, the scope was to do something on the “Thank You” page if a certain product category was purchased. For example, echo a “Thank you for becoming a member!” image in case the category “membership” was in the order.

Here’s the snippet, together with PHP comments so that you can understand how this is done. Enjoy!

Continue reading WooCommerce: Check if Product Category is in the Order

WooCommerce: Per-Product Terms & Conditions @ Checkout

A freelance client sells two distinct products on the same website: a membership and an online course. Two different audiences, different formats and… different Terms & Conditions.

The goal was therefore to display the “Terms & Conditions” checkbox on the Checkout page based on the product in the cart. Once again, we’re going to use Conditional Logic. With that, the snippet is pretty easy to code!

Continue reading WooCommerce: Per-Product Terms & Conditions @ Checkout

WooCommerce: Order a “Free Sample” @ Single Product Page

Recently I was on a coaching call with a client and the “Free Sample” challenge came up. Client has 400+ products on the website and had no intention of adding a free variation to each product manually.

So, I promised to myself I was going to study a different approach. And today you get it for free – nice! Needless to say, a comment and a social media share are much appreciated 🙂

Continue reading WooCommerce: Order a “Free Sample” @ Single Product Page

WooCommerce: “Continue Shopping” Button @ Single Product Page

A freelance client hired me a while ago to display a “Continue Shopping” button on the Single Product Page, next to the Add to Cart. A simple way to send their users back to where they were coming from without clicking the “previous” button on the browser 🙂

Here’s how it’s done, featuring an awesome WordPress function called “wp_get_referer()”! Continue reading WooCommerce: “Continue Shopping” Button @ Single Product Page

WooCommerce: Get Product Info (ID, SKU, $) From $product Object

I’ve been wanting to publish this guide for a long while. As a WooCommerce development freelancer, every day I repeat many operations that make me waste time… and one of them is indeed “How to get ____ if I have the $product variable/object?“.

For example, “How can I get the product SKU“? Or “How can I get the product short description“? Or maybe the product stock level, shipping class, tax class, price, regular price, sale price, and so on… hopefully this article will save you time.

Of course, not always you have access to the $product variable (I’m talking about WooCommerce hooks for example), so you’re also required to understand your case scenario and see if you can “get” that $product object in another way.

For example, you might know the $product_id. In this case, you have to find a way to “get the $product object from $product_id” – you find this example below.

Other examples might be the order or the cart pages. Once again, in here you don’t really have a $product available, so you have to loop through the order/cart items and “get” it. After that, you can then calculate and get any piece of information you require out of $product. Enjoy!

Continue reading WooCommerce: Get Product Info (ID, SKU, $) From $product Object

My Take on WooCommerce.com Switching to 100% Renewals

WooCommerce.com is dropping its 50% extension renewals, and moving to a 100% renewal business model.

I found this out at WCEU 2017 and then via WP Tavern. Unfortunately, this announcement is not on WooCommerce blog, on its social media channels or even Automattic.

And yes, this is retroactive – we are now all paying 100% renewals. So, let’s see what I think about this “still not official” news. Continue reading My Take on WooCommerce.com Switching to 100% Renewals

WooCommerce: “Buy One Get One” (Without a Plugin!)

Case scenario: if you add a product ID to cart with a specific, you want another product automatically added to cart (Buy One Get One, or “BOGO”).

This second product should have price = 0 if you wish to completely give it away, or maybe a set sale price. It should also be set to “hidden” because maybe you want to hide this free product from the shop and only gift it when the first one is added to Cart.

Also, if you remove product 1, the gifted product should go away from the Cart too. So here follows the PHP snippet of course!

Continue reading WooCommerce: “Buy One Get One” (Without a Plugin!)

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: Enable Payment Gateway Only for “Order Pay Checkout”

I invoice clients via WooCommerce, and then send them the “Invoice Email”, which takes them to the “Order Pay” page. Of course, I want to give them the option to pay via “Bank Transfer” (bacs), but I don’t want this to be visible on the default checkout page.

We’ve seen in the past how to disable payment gateways given certain conditions… but how do we “enable” one? Here’s a snippet for that – enjoy!

Continue reading WooCommerce: Enable Payment Gateway Only for “Order Pay Checkout”