WooCommerce: “Buy One Get One” (BOGO)

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” (BOGO)

WooCommerce: Add Order Notes to WooCommerce PDF Invoices

I use the “WooCommerce PDF Invoices & Packing Slips” plugin, available on the WP Repository, to invoice my clients. At times, for accounting purposes, I need to show the VAT/TAX ID of the client on the PDF invoice.

So, I open the order via WooCommerce > Orders, open the order I want to edit, add a “Note to the Customer” from the right hand side… and then have the following snippet in my functions.php adding such information on the PDF invoice! Continue reading WooCommerce: Add Order Notes to WooCommerce PDF Invoices

WooCommerce: Display & Save WP User Profile Field @ Checkout

I’m curious to know how many had the same problem. On the WooCommerce Checkout page, some user fields such as billing_name, shipping_address_1, etc. are automatically saved into the “WordPress User Profile” data 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.

Enjoy!

Continue reading WooCommerce: Display & Save WP User Profile Field @ Checkout

WooCommerce: Rename “Tags” Label @ Single Product Page

A #CustomizeWoo student reached out for premium support in regard to “WooCommerce taxonomies”. The question was: How do I change the label “tag” into something else, for example “brand”? Well, this is how it’s done!

Please note that this does not change the “tag” permalinks (URL, slug, etc), but only the “Tags” label on the frontend, and only on the Single Product Page.

Continue reading WooCommerce: Rename “Tags” Label @ Single Product Page

WooCommerce: Ship to Predefined “Local Pickup” Addresses

WooCommerce Shipping Zones are quite easy to override / customize. With a simple PHP (and jQuery, sometimes) snippet we can accomplish many advanced shipping rules, such as the one we’ll study today.

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: Ship to Predefined “Local Pickup” Addresses