WooCommerce: Hide Category & Tag @ Single Product Page

SKU, Category list and Tag list on the WooCommerce single product page are called “product meta”. We already saw how to hide just the SKU (while leaving Cats and Tags there), so in this “episode” we will study how to do the opposite i.e. keeping the SKU there while hiding Cats and/or Tags.

If you are a developer, you’d think there were a specific WooCommerce “filter” for this, but there is not. So, we have to first remove the whole “product meta” block and then add back the info we want (just the Cats, for example). If you’re not a dev – not to worry – just copy paste one of the snippets below in your functions.php and magic will happen. Enjoy!

Continue reading WooCommerce: Hide Category & Tag @ Single Product Page

WooCommerce: Add To, Cc, Bcc Order Email Recipients

The WooCommerce Email Settings allow you to add custom recipients only for New Order, Cancelled Order, Failed Order and all admin-only emails.

But what if you want to add an email recipient to a customer email e.g. the Completed Order one? For example, you need to send it to your dropshipper. Also, you might want to add a To: recipient, or instead a cleaner Cc: or safer Bcc:.

Either way, a simple snippet allows you to achieve that (and more, if you consider WooCommerce conditional logic). Enjoy!

Continue reading WooCommerce: Add To, Cc, Bcc Order Email Recipients

WordPress: Fix “No Update Required” @ WP Admin

It happened to me today while updating to WordPress 5.3, so I thought of sharing the fix with all the people who are going to have this problem now and in the future.

Honestly, I should have thought about this better – but it’s an early Saturday morning and maybe my brain is still asleep.

I kept getting always the same error, even after 10 refreshes and attempts, even while trying to use /wp-login.php or /my-account to login as opposed to /wp-admin. And when you get the same behavior no matter how many times you refresh or try again… well, it should be easy to understand why!

Continue reading WordPress: Fix “No Update Required” @ WP Admin

How to Customize your WooCommerce Store Without Coding

WooCommerce, with 25% market share for website eCommerce solutions as of November 2019, is the most popular platform for building online stores. It’s easy to get a basic setup running and start selling your products online.

WooCommerce also offers a lot of hooks and filters for further customization – the only problem is you need to understand a bit of PHP programming.

This is where the WooCustomizer WordPress plugin comes in. WooCustomizer offers all of these filters and more, all neatly built into one WordPress plugin so you can visually customize your WooCommerce store in an ‘easy to use’ and intuitive interface within the WordPress Customizer.

No more creating a child theme to manually add code snippets to your WordPress website, no more adding multiple plugins and increasing the chance of bugs coming up… Just a simple, one plugin solution.

Continue reading How to Customize your WooCommerce Store Without Coding

WooCommerce: Dynamically Hide / Show Checkout Field

We already saw a lot of examples e.g. hiding checkout fields if a product is virtual or hiding checkout fields if a checkbox is manually checked… but this time I want to hide a field dynamically – automatically – based on whether another checkout field is empty or no value is entered in it.

In this example, I will demonstrate how to hide the “billing phone” if “billing company” is empty or no information is entered. Of course, you also have to disable the mandatory attribute for the billing phone from the Customizer settings, otherwise checkout validation will fail. You can readapt this snippet to any other checkout field combo – just identify the IDs and change jQuery accordingly. Enjoy!

Continue reading WooCommerce: Dynamically Hide / Show Checkout Field

WooCommerce: Hide Product Based on IP Address / Geolocation

There are many plugins that would allow you to do this in bulk or that would give you advanced features… but what if you just need to hide one product ID for users who are visiting your WooCommerce website from a specific country code?

This is also called “geolocation” – remember this won’t work unless you’ve enabled geolocation inside the WooCommerce general settings. Other than that, get your product ID, find out the target country 2-letter code, and this snippet will do the trick. Enjoy!

Continue reading WooCommerce: Hide Product Based on IP Address / Geolocation

6 WooCommerce Tax & Accounting Tips to Save You Time This Tax Season

If just the thought of tax season gives you a headache, you’re not alone. In fact, 60 percent of small-business owners don’t feel confident about their accounting knowledge (Small Business Report – Accounting).

We understand the feeling – tax season is approaching and you’re frantically trying to add up and categorize all of those shoe boxes full of receipts. Or maybe you’re not even completely sure of your business’ financial position as you haven’t accurately tracked your orders/sales.

Whether you’re behind on your accounting, unsure of what your business income is, or simply want to save yourself the time and headaches that tax season entails, this guide is for you.

We have compiled our top WooCommerce accounting tips to save you time this tax season (and every year there after…)

Ready to dive in?

Continue reading 6 WooCommerce Tax & Accounting Tips to Save You Time This Tax Season

WooCommerce: Disable Out of Stock Variations @ Variable Product Dropdown

A nice way to avoid user frustration is to never let them pick a product / variation that is out of stock, only to realize later they can’t purchase it.

A variable product comes with a “select dropdown” on the single product page, from which customers can pick their favorite variation. Problem is that ONLY after selecting this they will find out about price, stock status and may be able to add to cart.

Today, we’ll completely disable (grey-out) those select dropdown options (variations) that are out of stock, so that users don’t waste time and only pick one of those that are in stock. Enjoy!

Continue reading WooCommerce: Disable Out of Stock Variations @ Variable Product Dropdown

Boost Your WooCommerce Sales With Advanced Analytics

Product recommendations is an efficient and proven way to boost your WooCommerce sales.

The downside is that it could be a very time-consuming activity to bundle products manually, as well as the fact that it is not always the logical “pairing” that will generate the most sales.

The way forward is to utilize AI (Artificial Intelligence) and let analytical data models do the work for you.

Meet Engage, an AI-powered product recommendation engine. The type of recommendation vary a bit depending on the page your visitor is viewing. This is mainly because the recommendation model needs input to function properly (e.g. the first time a new visitor lands on your homepage, the model doesn’t know anything about their behavior and therefore it can’t provide recommendations.

But as the user interacts with the website the model picks up on behavioral patterns and is then able to provide better recommendations.

Continue reading Boost Your WooCommerce Sales With Advanced Analytics

WooCommerce: Truncate Short Description With “Read More” Toggle

You can apply this simple jQuery snippet to any piece of WooCommerce content.

In this example we’ll see how to truncate the WooCommerce single product short description and place a “read more” link to reveal the hidden content… however you can also apply this to the long description, a custom product tab, the product gallery, and whatever can be truncated.

Enjoy!

Continue reading WooCommerce: Truncate Short Description With “Read More” Toggle

WooCommerce: Conditionally Hide Widgets

You could use a popular plugin called Widget Logic, or instead you could keep it simple with a few lines of PHP. Here’s a snippet for you in case you need to conditionally hide a certain sidebar widget given a condition e.g. if you’re on the Cart page.

Of course, you can use any of the available WooCommerce conditional tags and make this more complex, but in this example we’ll keep it simple and check if we’re looking at the Cart page (thanks to the is_cart() conditional). Enjoy!

Continue reading WooCommerce: Conditionally Hide Widgets

WooCommerce: “Split” Cart Table (A>Z Headings)

Because “split” might not be the correct term, let me explain this better.

Let’s imagine your WooCommerce cart table is sorted by A>Z (with my WooCommerce cart sorting snippet for example). If your business model and/or UX requires it, then you might need to “add a cart table row” to communicate the fact those items belong to that letter:

  • A
    • Item 1 Title: “AAA”
    • Item 2 Title: “ACC”
  • B
    • Item 3 Title: “BDD”
    • Item 4 Title: “BEE”

Once again, this might sound incomprehensible so you’d better look at the screenshot below. Enjoy!

Continue reading WooCommerce: “Split” Cart Table (A>Z Headings)

WooCommerce: Get List of Users Who Purchased a Product ID

This time around we’ll take a look at some SQL. As you know, WooCommerce orders (same as WooCommerce products) are stored in the WordPress database.

Instead of using complex PHP loops and conditionals, sometimes knowing a bit of database “SQL SELECT” can help. I took some inspiration (because I don’t know everything by heart) from the wc_customer_bought_product()” WooCommerce function, which contains some SQL to check if a user has purchased a given product.

I’ve played a little with the same SQL SELECT call, and managed to return the list of user email addresses who have purchased a specific product ID. If you’re ever going to need this, enjoy!

Continue reading WooCommerce: Get List of Users Who Purchased a Product ID

WooCommerce: Get List of Downloadable Products

When you’re doing custom PHP work, this snippet will come handy. It’s a quick way to get a sublist of product IDs based on product meta criteria – in this case we’ll get a list of products that have “_downloadable” set to “yes” (which, translated in English, means they are “downloadable”).

Of course, you can edit this snippet to get any sublist of product IDs, for example in stock products, custom field value products, below/above sales number, and so on. Whatever is stored as a custom field can be used. Enjoy!

Continue reading WooCommerce: Get List of Downloadable Products

WooCommerce: Move Order Notes @ Checkout

We already saw how to hide Order Notes on the WooCommerce checkout page. This time around, however, our goal is to “move” them – and specifically remove them from their default position (under the shipping form) and add them back under the billing form.

As you can imagine, this is a combo snippet: (1) we remove them (and we’ll use the snippet as per the link above) and (2) we create a new billing field. Finally, (3) we also need to “save” this new field value into the original order notes custom field meta.

If this is difficult to understand don’t worry – just copy/paste the snippet into your functions.php and see magic happen. Enjoy!

Continue reading WooCommerce: Move Order Notes @ Checkout

How to Add Extra Product Options (Add-Ons) to WooCommerce

This is a guest post by Maarten Belmans of Studio Wombat – if you like the article, make sure to thank him in the comments!

If you use WooCommerce for your online business, you may have needed the ability to add extra options.

That functionality allows buyers to personalize their products exactly the way they want – whether they want to add their favorite pizza topping or buy a laptop with extra RAM.

When you provide those options, you optimize the customer experience on your website. But in order to provide those customization options, you’ll need a product add-on plugin.

That type of plugin makes it easy for you to create additional form fields, which in turn allows your visitors to customize the products they want to purchase.

Continue reading How to Add Extra Product Options (Add-Ons) to WooCommerce

WooCommerce: Additional Products Table Column @ Admin

The default WooCommerce Dashboard Products page (/wp-admin/edit.php?post_type=product page) shows the list of products in a table. Default fields are: Image, SKU, Stock, Price, Categories, Tags, Featured and Date.

Sometimes, these columns are not enough and you need more. For example, you might want to quickly take a look at a product custom field, such as “visibility” (whether the product is hidden or not).

So, here’s the snippet for that. Of course, you can adapt it to show your own custom field, an ACF field or whatever product-related information you require.

Continue reading WooCommerce: Additional Products Table Column @ Admin

6 Secrets to Running a Successful Ecommerce Business

Creating an ecommerce business can be a great way of making money, but it’s a competitive world. This is why you need to do all that you can to turn your ecommerce business into the success that you are looking for. 

There are several steps that you need to take. Here are some tips that you should find useful. 

Continue reading 6 Secrets to Running a Successful Ecommerce Business