WooCommerce: Disable Orders Table Row Hyperlink @ Admin

If you access the WordPress dashboard and go to WooCommerce > Orders, you will be presented with the WooCommerce “Orders Table” i.e. the list of customer orders. Each row comes with several columns, such as the order number, order date, order status, order billing and shipping addresses and more.

What’s annoying sometimes is that the whole row is a clickable link, so if you need to copy and paste some information you will end up actually clicking on it, and being redirected to the single order page.

There is a way to add a specific “class” to each table row, so that it becomes not clickable, and the only link that remains is the very first column table cell – the order number (as it should be by default!).

So, let’s see how easy it is to alter this default behaviour. Enjoy!

Continue reading WooCommerce: Disable Orders Table Row Hyperlink @ Admin

WooCommerce: Change Address Format For a Specific Country

We’ve already covered a little about address formats when we added a custom House Number field to the WooCommerce Checkout page.

Address formats define the way Billing and Shipping addresses are formatted for the end user. Addresses show on the order received / thank you page, on transactional emails and on some My Account pages, and look like this:

{name}\n{company}\n{address_1}\n{address_2}\n{city}\n{state}\n{postcode}\n{country}

Now, what if you wanted to move the “company” before the customer name, or maybe have “address 1” and “address 2” on the same line, or move “postcode” to the last line? Well, thankfully there is a neat WooCommerce filter called “woocommerce_localisation_address_formats” that allows us to do just that – reformat any address for any country we wish. Enjoy!

Continue reading WooCommerce: Change Address Format For a Specific Country

WooCommerce: Bulk Re-Send All Customer’s Completed Order Emails

This is quite an uncommon WooCommerce requirement, but especially for downloadable products the Completed Order email is such as important one – and customers may end up asking you to resend them all their past order emails.

This is an interesting snippet, as it features important functionalities: getting orders by billing email, looping through the results and re-triggering the Completed Order email whenever a specific admin URL parameter is posted. Enjoy!

Continue reading WooCommerce: Bulk Re-Send All Customer’s Completed Order Emails

WooCommerce: Limit Sales Of A Product Per Day

Yes, “manage stock” is a nice feature to make sure you don’t oversell a given product based on the stock you have in your warehouse. However, what if you also need to have a “daily sales limit” – say you can’t sell more than 3 of a given product ID in a given day?

This is an interesting functionality that is also helpful for you to learn how to get today’s orders, how to loop through the orders to find a specific product ID and sum its quantities, and finally how to use the woocommerce_is_purchasable filter to set if a product can be purchased or not (which means, the add to cart may or may not show). Enjoy!

Continue reading WooCommerce: Limit Sales Of A Product Per Day

WooCommerce: Get Order Fees Total

It’s official – there is no way to get the fees total from an order with a simple PHP getter (not sure why – you can get lots of values such as totals, addresses, dates, URLs with one line of code except for this basic thing!).

So, we’ve got to fix this. Let’s say you have access to the $order object (on the thank you page, in the WordPress dashboard, inside an order email, etc.); here’s a few lines of PHP you can use to calculate the total amount of order fees. Enjoy!

Well, there is actually one line of PHP you can use to calculate the order total fees (despite I didn’t think so while I was writing this post) – I’ve now added it to the list of order “getters” here (where you can get lots of order values such as totals, addresses, dates, URLs with one liners).

So, in order not to waste this post, you still find below the original way to calculate order total fees (by looping through all order fees and adding up totals), as well as the one liner that can help you save time. Enjoy!

Continue reading WooCommerce: Get Order Fees Total

WooCommerce: Item Custom Field @ Edit Order Page

Alright, this title may not really help you understand what I mean, so let’s put it in another way. When, as an administrator, you edit an order and are in the Order Items table, you have the chance to edit the item quantity, subtotal and discounted price (see screenshot below).

Now, what if you also want to have the freedom to display and edit another custom field, so that it is saved inside the order once you hit the “Save” button?

This could be useful for custom setups – for example let’s imagine the admin has the necessity to also define the “shipped quantity”, so that they know exactly if a specific order has been entirely fulfilled or requires a second shipment to get completed.

Either way, see the screenshot below, play with the snippet, and see how it goes. Enjoy!

Continue reading WooCommerce: Item Custom Field @ Edit Order Page

WooCommerce: Bulk Replace Product Inside Existing Orders

Manual operations are always a nightmare for WooCommerce store owners. Thankfully, a bit of code can help and actions that would normally take hours can be executed in a few seconds via PHP.

Today, we’ll take a look at a very edge case, but this can still be helpful to understand the code and re-adapt it to other scenarios. If as a store owner you tend to replace products or product lines, it’s possible that you may need to replace the old products with the new ones inside existing orders, retroactively.

It’s a one-off operation that could take hours if it had to be done manually, based on the number of existing orders. With this simple snippet, however, you can edit an unlimited number of orders, and let the code replace ordered items. So, let’s see how this is done. Enjoy!

Continue reading WooCommerce: Bulk Replace Product Inside Existing Orders

WooCommerce: Add Custom Meta Box @ Order Admin

When you edit an order as an admin, you’re presented with the usual WooCommerce layout: order details on the left, order action on the right, the list of order items on the bottom left, and – possibly – additional meta boxes added by third party plugins (e.g. the PDF Invoice and Packing List plugin order meta box where you can define the invoice date and number).

On top of that, it’s also possible, of course, to define our own custom meta boxes, so that the administrator and/or shop managers can view (or even enter) additional information.

I’ve used it on a client website to show a custom field, but you can print anything you wish – even documentation for shop managers (how to complete the order for example).

So, here’s how we add a new “section” (meta box) to the single order edit page in the WordPress dashboard, and how we display some content in it. Enjoy!

Continue reading WooCommerce: Add Custom Meta Box @ Order Admin

WooCommerce: Disable Emails For a Single Order

This is a cool customization that can come useful for WooCommerce store admins, especially when they do manual order status changes via the Orders admin page.

As you know, each order status change triggers an order email (“processing”, “completed”, “on-hold”, etc.), and sometimes the store manager doesn’t want to resend them after each edit.

In this quick tutorial, we will see how to add a checkbox to the single order edit page, so that emails are disabled as long as the checkbox is kept checked. Enjoy!

Continue reading WooCommerce: Disable Emails For a Single Order

WooCommerce: File Upload Plugins For Order Personalization

One of the biggest mistakes you can make as a WooCommerce store owner is offering limited product customization abilities. Product personalization is a critical component of online shopping that helps provide a better customer experience and results in a high retention rate.

75% of customers appreciate businesses that offer personalized offerings, and a Deloitte consumer review suggests that 1 in every 5 customers are willing to pay 20% more for a custom-designed and personalized product. 

A great way to do this is by offering an image upload solution for products for your customers to improve customer satisfaction and generate more revenue for your store. 

This article shows the top solutions that make uploading images for products for customers a breeze and enhance their customization abilities. But before we get into them, let’s look at more benefits of offering this capability in your store and how it affects your business bottom line. 

Continue reading WooCommerce: File Upload Plugins For Order Personalization