WooCommerce: Detecting Current User Country (Geolocation)

In the redesign of Business Bloomer homepage, launched recently, I wanted to add some “personalization” to the main headline. In detail, I wanted to make use of PHP and WooCommerce inbuilt MaxMind Geolocation (when enabled from the General Settings Tab of course) to print a custom greeting on the screen.

The detection of the current user country could be very useful for other tasks, such as disabling payment gateways and shipping methods, printing country-specific content and so on. And as usual, this “detection” is done with one line of code! Continue reading WooCommerce: Detecting Current User Country (Geolocation)

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

I’ve been wanting to publish this guide for a long while. As a 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 πŸ™‚ Continue reading WooCommerce: Easily Get Product Info (ID, SKU, $) from $product Object

WooCommerce: Display & Save WP User Field (e.g. user_url) @ Checkout

I’m curious to know how many had the same problem. At WooCommerce checkout, some user fields such as billing_name, shipping_address_1, etc. are automatically saved into the “WordPress User Profile” upon processing.

But what if we also wanted to display and save another existing user field, such as “user_twitter”, or “user_url”, which you can find in the WP User Profile by default? Well, this is very easy: first, we add a custom checkout field; then, we make sure that when the checkout is processed we save that field correctly! Continue reading WooCommerce: Display & Save WP User Field (e.g. user_url) @ Checkout

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: 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”

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 Visual Hook Guide: Emails

WooCommerce Customizers: the Visual Hook Guide is back πŸ™‚

Here’s a visual HTML hook guide for the WooCommerce Emails. This visual guide belongs to my “Visual Hook Guide Series“, that I’ve put together so that you can find WooCommerce hooks quickly and easily by seeing their actual locations.

Let me know in the comments if this resource it’s helpful and how!Β Enjoy πŸ™‚

Continue reading WooCommerce Visual Hook Guide: Emails

WooCommerce: How to Add a Custom Checkout Field (PHP)

A client of mine runs online courses for acupuncturists via Sensei LMS. US Law requires an “Acupuncture Registration Number” in order for students to get the final online certificate. So, this task was a little bit more complex than usual as it had two major issues:

1) This new checkout field does not belong to billing or shipping (order information), but instead it’s a unique user field that needs to be saved and retrieved multiple times if necessary

2) This field does need to be shown at checkout only if a certain product category is in the cart (“online courses”, as opposed to e.g. “books”)

So, here’s how you do it – hope it helps you understand that anything is possible via PHP! Continue reading WooCommerce: How to Add a Custom Checkout Field (PHP)

WooCommerce: Disable Postcode/ZIP Validation @ Checkout

An annoying thing for sellers based in Ireland (for example), is that we still don’t use post codes (they recently introduced them, but nobody’s using them). So, in today’s task, I want to show you how to disable the “REQUIRED” feature of the postcode on the checkout page.

We already saw how to completely remove the PostCode/ZIP field… but this time we wish to leave it on the checkout, and just avoid a validation error if we don’t enter anything. Continue reading WooCommerce: Disable Postcode/ZIP Validation @ Checkout

#CustomizeWoo: a WooCommerce Online Course for Designers

It’s live. And it’s alive and kicking.

#CustomizeWoo, my flagship Advanced WooCommerce Online Course for designers and DIY store owners, is now live.

In this post, I’m about to show you why I invested 151hrs 39mins 1secs of my time to build #CustomizeWoo and another 50+ hours to publish the updated version in June 2019, who I’m willing to help, and what the course looks like from the “inside”.

So, here’s the story. Here’s why #CustomizeWoo was born. Continue reading #CustomizeWoo: a WooCommerce Online Course for Designers

WooCommerce: Add Privacy Policy Checkbox @ Checkout

Here’s a snippet regarding the checkout page. If you’ve been affected by GDPR, you will know you now need users to give you Privacy Policy consent. Or, you might need customer to acknowledge special shipping requirements for example.

So, how do we display an additional tick box on the Checkout page (together with the existing T&C checkbox)?

Continue reading WooCommerce: Add Privacy Policy Checkbox @ Checkout

WooCommerce Visual Hook Guide: Archive / Shop / Cat Pages

I’ve created a visual HTML hook guide for the WooCommerce Archive Page (which is the same page for the Shop, Category, Tag pages). This visual guide belongs to my “Visual Hook Guide Series“, that I’ve put together so that you can find WooCommerce hooks quickly and easily by seeing their actual locations (and you can also copy/paste). If you like this guide and it is helpful to you, let me know in the comments!

Thanks to this WooCommerce Archive Visual Hooks Guide, you can now go to your template’s functions.php file and use “add_action(‘place-hook-here’,’your-PHP-function-here’);” – you can then place your custom functions exactly where you like them to be. Enjoy!

Continue reading WooCommerce Visual Hook Guide: Archive / Shop / Cat Pages

WooCommerce Visual Hook Guide: Single Product Page

Here’s a visual HTML hook guide for the WooCommerce Single Product Page. This is part of my “Visual Hook Guide Series“, through which you can find WooCommerce hooks quickly and easily by seeing their actual locations (and you can copy/paste). If you like this guide and it’s helpful to you, let me know in the comments!

Now that you know the Single Product Page hooks, all you need to do in your functions.php is “add_action(‘place-hook-here’,’your-PHP-function-here’);” and you can place your custom functions exactly where you like them to show! Need a video tutorial? Watch it now β†’ Continue reading WooCommerce Visual Hook Guide: Single Product Page

WooCommerce Visual Hook Guide: Cart Page

I’ve put together a visual (yet, you can copy/paste!) hook guide for the WooCommerce Cart Page. If you like this and it is helpful to you, let me know in the comments and I’ll create another one for the checkout, single product page and my account page.

You can find WooCommerce Cart hooks quickly and easily by seeing their actual locations. Great thing is – all you need to do in your functions.php is “add_action(‘place-hook-here’,’your-PHP-function-here’);” and you can place your custom functions anywhere on the WooCommerce Cart Page. Enjoy!

Continue reading WooCommerce Visual Hook Guide: Cart Page