Version 2.7.22 of Product Addons changed the way that addons are displayed. This was done because of an issue with variable products which have long variation descriptions not displaying properly. Unfortunately, this has broken other use-cases or at the very least, caused undesirable behavior and display issues. There is a way to revert the display […]
Remove Free Shipping for Non Members
WooCommerce Memberships offers some member perks out of the box and there are more perks that are being discussed here – one of which is free shipping for members. This has not been implemented yet, but it could be achieved via custom code. WooCommerce provides a filter named woocommerce_shipping_zone_shipping_methods which can be used to remove free shipping for non-members. […]
Trim Trailing Zeros in WooCommerce Product Addons Price Display
Perhaps you are using the woocommerce_price_trim_zeros as suggested in this thread: https://wordpress.org/support/topic/about-price-displaying/ and you have noticed that filter has no effect on product addon price displays. This is due to an unresolved issue with the accounting.js library here: https://github.com/openexchangerates/accounting.js/issues/93 There is a workaround, however. The workaround requires a bit of JavaScript trickery to achieve. Fortunately, Product Addons has a […]
WooCommerce Memberships – Hide Product
WooCommerce and many of its extensions are highly customizable. WooCommerce Memberships is certainly included in the list of highly customizable extensions. As an example – suppose a merchant is selling products that grant access to a memberships plan and once a purchase of one of those products has been made, the merchant doesn’t want to show that product […]
Conditionally Hide Gravity Form
Suppose you’re using WooCommerce Gravity Forms Product Add-ons on a variable product but your Gravity Form is really only applicable to one of your variations. How can you conditionally display the form for only the applicable variation? A tiny bit of inspecting the product page and a code snippet can do the trick. The code snippet that […]
Add Northern Ireland to WooCommerce Shipping Zones
WooCommerce, by default, only recognizes countries/regions which are listed in the ISO 3166 standard. The body who determines valid countries is a trusted and reliable source and it has been the stance of the development team to use this list as the “source of truth”. This does tend to cause problems for example, if a […]
Raspberry Pi Security System
My wife and I are currently on an overland trip down the Pan-American Highway. You can read more about that on The Life Nomadic. As we were making preparations for that trip we did what most people would do in a similar situation, we started reading blogs about this kind of trip. No reason to […]
Use Custom SKU field From LightSpeed POS as the WooCommerce SKU
By default, the WooCommerce LightSpeed POS will use the item id from LightSpeed as the product sku on your WooCommerce shop. You may wish to use the custom SKU on LightSpeed instead. The good news is that when a product is imported from LightSpeed to WooCommerce the initial data associated with that product is stored in the product […]
Bypass Subscriptions’ ‘pending cancellation’ status and move directly to ‘cancelled’
Update 28 June 2018: The fine folks at Prospress have provided some updated code which works with newer versions of WooCommerce Subscriptions. WooCommerce Subscriptions by default will move a subscription to a ‘pending cancellation’ status when cancelled either by the subscriber or the shop manager. The purpose of this is to provide access to a subscribed product for the remainder […]
Translate the WooCommerce Subscriptions “Sign Up Now” Button Text
Because WooCommerce Subscriptions provides a way to easily customize the “Add to Cart/Sign Up Now” button text via the admin dashboard it is impractical and unfeasible to translate that button text on the front end of your shop. WooCommerce provides a filter named woocommerce_product_add_to_cart_text which can be used to translate this text, however. Below is an example: […]