WooCommerce: How to Display Custom Product Badges (e.g. %OFF, NEW, FREE)?

You would know by now ecommerce customers buy products for different reasons. Your store products might be cheaper than your competitors, maybe you offer better shipping rates, possibly you restock products more quickly than anyone else – or simply you’ve got a great product people keep buying.

One way to display your product features and benefits on the Shop page is by using “product badges”, a series of display messages that are able to communicate with the user immediately.

You’re probably already familiar with the “SALE!” badge that WooCommerce gives us by default. What if you wanted to show the exact percentage amount of that offer?

You’re also aware of the “Featured” option for WooCommerce products. Yes, they show in the “Featured” product shortcode, but what if you wanted the shop to display these special products in a different way, i.e. by using a special badge?

Well, there are millions of examples on how you could improve your products page (and single product page) by making the most of product badges. Thankfully there are snippets and plugins that can help you with that.

A little investment might mean better click-through rates and therefore higher conversion rates!

Continue reading WooCommerce: How to Display Custom Product Badges (e.g. %OFF, NEW, FREE)?

WooCommerce: Add Product to Cart When Visiting a Specific Page

We’ve already seen how to add a product to cart automatically when a user enters your website. However, I needed a different functionality on this same website, and specifically I wanted a product added to cart only when a user like you visits a specific WordPress page ID.

If you wish to test, go to my free video tutorial page called “How to Customize the WooCommerce Single Product Page“. As soon as the page loads a product is magically added to cart, so that the WooCommerce Checkout on that same page is populated with the hidden item. If you go to my Cart page right after visiting that landing page, you can verify there is a product in there.

So, how did I do it? Continue reading WooCommerce: Add Product to Cart When Visiting a Specific Page

WooCommerce: Remove, Rename, Add “Sorting” Options @ Shop

We’ve seen in the past how to completely remove the “Default Sorting” dropdown that shows in the WooCommerce Shop, Category and Product Archive pages.

Sometimes, however, you might just need to remove one of the default options, rename a sorting option accordingly to your needs or even add a brand new sorting method. As usual, a few lines of PHP are sufficient to achieve anything, thanks to WooCommerce hooks and filters.

Continue reading WooCommerce: Remove, Rename, Add “Sorting” Options @ Shop

WooCommerce: Add Content Below Single Product Gallery

If your products have multiple images and use the product gallery, you may have encountered issues when trying to add content below the gallery using the usual hook method.

If you’re familiar with WooCommerce customization and Single Product Page hooks, you’ve likely noticed that adding content under the images is no longer possible with the woocommerce_product_thumbnails hook.

This is because WooCommerce now includes a JavaScript-powered product gallery slider and lightbox on the single product page. Previously, the gallery was entirely managed by PHP.

As a result, the script fully replaces the default content, including that hook, making it more challenging to insert additional content.

Here’s a workaround. Be sure to test how it behaves on mobile, as this has only been tested on desktop—you may even want to hide it on smaller screens.

Continue reading WooCommerce: Add Content Below Single Product Gallery

WooCommerce: How to Hide “Shipping Calculator” Fields @ Cart

The “Shipping Calculator” can be enabled via the WooCommerce settings in order to give the user a way to calculate their shipping fees before getting to the Checkout Page. Usually they fill out the country, state, city and postcode form fields and click on “Update Totals” in order to calculate the shipping.

However, what if you only calculate shipping based on country? Or what if you only charge by zip code / postcode? In this case, you will need to hide the input fields you don’t need, and make UX better.

Well, here are some WooCommerce filters you can use from WooCommerce version 3.4 onwards to hide the fields you like (apart from country, which is mandatory).

Continue reading WooCommerce: How to Hide “Shipping Calculator” Fields @ Cart

WooCommerce: How to Sell Product Customizations & Add-Ons

Product customization has been revolutionizing ecommerce in the last 5 years. And WooCommerce store owners, if possible, should look into offering additional product options, add-ons, personalizations, custom text and whatever can make a mass product unique to each single customer.

You can now pick your shoe colors, engrave a message on jewelry, upload your own graphics on t-shirts, pick your own ingredients, select custom materials and so on. Correct, some very smart marketer found out a way to sell the same exact product to a bunch of very different, demanding people and make them all 100% happy – while also increasing average order value (AOV), margins, profits, return business and decreasing returns, bad feedback and churn rate.

Most of us rely on WooCommerce product variations to sell the same product in different “sizes” or “colors”… but this has got nothing to do with product “add-ons”. With a product add-ons plugin, you can sell additional options and personalizations on top of the existing product attributes.

Good news is there are free and premium plugins that can help you implement product options, customization and add-ons… and eventually increase your profit.

Continue reading WooCommerce: How to Sell Product Customizations & Add-Ons

WooCommerce: Detect if Current Category is a Subcategory

A client of mine had to style a WooCommerce product category page but ONLY if it was a subcategory. So I decided to add a “subcategory” class to the HTML body, so that they could target this in their custom CSS.

As usual, the PHP is quite easy: I check if the current page is a product category, then if the category has “parents” – and only in this case – add a body class. Pretty easy!

Continue reading WooCommerce: Detect if Current Category is a Subcategory

WooCommerce: How to Enable Catalog Mode?

One of the most common WooCommerce questions is: can I use WooCommerce to build a catalog of products (without add to cart, price… basically a product gallery)? Using WooCommerce for this case scenario is indeed very helpful – you can make the most of all the inbuilt features such as single product gallery and carousel, image zoom, product description tabs, attributes, categories, tags and related products. Basically a much better version than a standard image gallery.

Another question might be: can I disable the WooCommerce add to cart / cart / checkout functionality until the time I am able to sell my products? This is another common scenario that many WooCommerce store owners require.

Besides, certain products in your WooCommerce website might be for sale and others might not. In this case, you’d want to disable the add to cart functionality from specific categories or products.

Finally, you might want to restrict the cart / checkout functions to logged in, registered users only. This is if you run a wholesale business for example, and wish to hide your prices to the public.

Either way, when the “Add to Cart” button gets hidden, a contact form might be required – this is what I call a “Product Inquiry” form.

Good news is there are snippets and plugins that can make your life easier, your admin time more efficient and your product management simpler. And today we’re taking a look at the best options.

Continue reading WooCommerce: How to Enable Catalog Mode?

WooCommerce: Don’t Send Emails for Free Orders

There are times when you sell free products to give customers access to a membership, an online course, or for other reasons. In these cases, you might not want to send the “Order Completed” email or get the “New Order” transactional notification, so that you can avoid sending and receiving hundreds of emails.

Of course, you’d still want to keep the order emails for amounts above $0. Here’s the fix.

Continue reading WooCommerce: Don’t Send Emails for Free Orders

WooCommerce: Get Order Data (total, items, etc) From $order Object

As a WooCommerce development freelancer, every day I repeat many coding operations that make me waste time. One of them is: “How to get ____ if I have the $order variable/object?“.

For example, “How can I get the order total“? Or “How can I get the order items“? Or maybe the order dates, customer ID, billing info, payment method, order status, and so on… hopefully this article will help you save time as well!

As we’ve seen in other articles, get product info from $product object and get cart info from $cart object, not always you can have direct access to the $order variable.

Sometimes, you may have the $order_id available for example. In that scenario, you can “get” the order object with the wc_get_order WooCommerce function.

It’s also possible to gain $order information if you are in an email template. This can be helpful to show additional $order information in your transactional communications or trigger custom functions. Either way, enjoy!

Continue reading WooCommerce: Get Order Data (total, items, etc) From $order Object

WooCommerce: Save “Terms & Conditions” Acceptance @ Checkout

When going legal… you need proof. Accepting the “Terms and Conditions” on the checkout is required in order to place an order – but how can you, WooCommerce store admin, “prove” that the Terms and Conditions were actually ticked by the customer?

One of the solutions might be to save such acceptance in the database and print the acceptance on the order admin (and maybe on the customer invoice as well). So, here’s a quick PHP snippet you can simply copy and paste in your child theme’s functions.php file in order to (1) save and (2) print the choice on the Single Order Admin page. Enjoy!

Continue reading WooCommerce: Save “Terms & Conditions” Acceptance @ Checkout

WooCommerce: How to Bulk Edit Products?

You want your website visitors to checkout fast, pay you faster and receive their item quickly. However, speed matters for us WooCommerce store owners as well.

By looking at this year’s time-sheets for my own business, about 50% of the time was spent between marketing and admin – and the “admin” part is the one we’re tackling today.

If you run a busy WooCommerce shop with hundreds of products, you probably noticed how annoying it is to edit products one by one.

Yes, the WooCommerce admin dashboard allows us to do certain bulk edits a la WordPress, however you must play with the “screen options” and also the filtering is not good enough.

On the other end, as WooCommerce managers we’re probably more familiar with Excel-alike spreadsheets where all our products are editable with a single click in a specific cell.

Good news is there are plugins that can make your life easier, your admin time more efficient and your product management simpler. And today we’re taking a look at the best options.

Continue reading WooCommerce: How to Bulk Edit Products?

WooCommerce: Change Autofocus Field @ Checkout

If you decide to delete or reorder checkout fields, you probably also need to change the checkout field with “autofocus”. In plain English, this is the checkout field where the keyboard cursor goes automatically to on checkout page load (by default, this is the Billing First Name).

As usual, changing this default behavior is very easy, even if you’re not familiar with PHP. In the example below, I’m removing the autofocus from Billing First Name and assigning it to the Billing Email field instead.

Copy the snippet, test it on your development environment and only then push it to your live website. Enjoy! Continue reading WooCommerce: Change Autofocus Field @ Checkout