Guide to Migrating Your Plugin to WooCommerce 2.0

With the release of WooCommerce 2.0 becoming more imminent (well, maybe not quite imminent yet, but certainly drawing nearer), those of us with WooCommerce plugins need to start work on getting them ready for the big release. WooCommerce has never been one to hold back on making plugin-busting implementation changes with a new release, and they’re setting the bar quite high with 2.0. It’s chalk full of code changes and improvements plugin developers must be…

Read More

Tweaking the WooCommerce Order Admin: Searching For Custom Fields

The WooCommerce Order Admin allows you to search for orders by the following fields: order key billing first name billing last name billing company billing address 1 billing address 2 billing city billing postcode billing country billing state billing email billing phone order items But what if you want to search by another order field? Perhaps the order total? Well it’s as easy as adding something like the following to your themes functions.php: function woocommerce_shop_order_search_order_total(…

Read More

WordPress development tutorials

Don’t Share Terms Between WordPress Taxonomies

By default WordPress will reuse terms with the same name and slug between different taxonomies (at least for now). For instance, if you add the term ‘red’ as a tag, and then add the category ‘red’, the same wp_terms record will be shared between them. This is also true for any custom taxonomies you define (remember that despite their seeming differences, WordPress tags and categories are both implemented as taxonomies). Now, in general this is…

Read More

Hide Certain WooCommerce Sub-Categories in Catalog

WooCommerce provides some coarse control over displaying sub categories in your shop/category pages with the “Show subcategories on category pages” and “Show subcategories on the shop page” options on the WooCommerce > Settings > Catalog > Catalog Options section. These controls are all-or-nothing though: show all subcategories on the category pages, or show all subcategories on the shop page. If you want finer-grained control, for instance displaying only certain subcategories on the shop or particular…

Read More

WP Development

Debugging WordPress

The following are some techniques I use nearly every day for debugging WordPress and WooCommerce, and can be used for plugin or theme development equally. Echoing or printing to the screen will only get you so far when debugging, especially in a complex framework like WordPress; to really understand the code flow, and to trace and fix issues, you need to be able to log messages to a file. For this WordPress makes use of…

Read More

GitHub Repository Not Found Workaround

Today I encountered an issue with GitHub where I was unable to fetch a remote repository to merge into my local clone. Everything seemed to be configured correctly, and I am able to fetch repositories from the same user without a problem, so it seems like there is some issue with this particular repository. Although I have a support ticket open with GitHub to try and determine the root cause of the issue, for now…

Read More

How to Upgrade Magento

I’ve been meaning to write an article on safely upgrading Magento for some time now, and with the release of Magento CE version 1.7.0 yesterday, April 24, 2011, now seems like a great time. These steps and commands are the actual ones I follow to upgrade client Magento sites, and I perform these core upgrades from the command line only. Please read through and understand all the steps before starting to follow them. Backup –…

Read More

Import Remote Repository with EGit on Windows

Honestly sometimes I’m not sure why I continue to persist in using Eclipse as my editor of choice for most projects. Maybe it’s that I’ve been using it for so long now (7 years) and it’s gone the distance for me, though as with any long term relationship there are fights. Today was one of those fights, as I attempted to import a remote Git repository and create a project for it on a Windows…

Read More

Configure Magento Products by URL

Being able to link to a configurable product page with particular product options configured is clearly a valuable feature to have in an ecommerce platform. Both to satisfy one of the primary goals of ecommerce: reducing friction in the sales process (by having a product configured and ready for purchase for a visitor), and to meet requirements of services like Google Checkout by providing unique URLs to pre-configured products, are among the many reasons. Happily…

Read More