Cross-sells and Up-sells in WooCommerce are a very powerful tool to give suggestions to your customers. You might know that most people who buy product X will probably need product Y as well, and you want the customer to know that. How do you do it? You use cross-sells and up-sells.

Read more

With version 3.0.23 of Table Rate Shipping, one little change has been added to the extension. It is small but it can have a big impact on stores. I am talking about how the shipping rates are calculated.

The story of this change goes all the way back to 2015, when the shipping cost was calculated on the item total, which is the adjusted total after any discounts. However, this was not taking into account taxation. Which led to a new change to fix the issue, but also to calculate shipping costs based on the item price.

Read more

I noticed while testing my own blog that the Recent Comments widget in the footer of this site has a nofollow attribute for all the authors’ links. It makes sense to have this, but at the same time I didn’t want the nofollow on my own comments.

Here is how I removed it.

Read more

Let’s say that you have a website with a shop on WooCommerce.

You only allow customers to place orders on the site without taking payments because you handle them separately in your accounting software, or maybe via phone or in another way.

You will have the need to disable all payment gateways on the site, but just disabling them in WooCommerce > Settings > Payments will not work because then the customers will get an error message since there are no payment methods available.

What you need is a snippet of code that marks all order not in need of payment.

Add this code to your functions.php file in wp-content/themes/your-child-theme-name/:

add_filter( 'woocommerce_cart_needs_payment', '__return_false' );
view raw functions.php hosted with ❤ by GitHub

Each country has a different address format, for example, U.S. uses the abbreviated state name, while Australia usually shows the full state name.

These are not rules set in stone though and they can always be changed. How ? Via custom code of course!

Read more