When we just finished up our local tests of our first online WooCommerce store, when it was online and ready for our first costumers to test it out a huge problem emerged. When we use native WordPress functions and the WooCoommerce plugin for quick attach an virtual store to our wp site, we must adapt the data managements to a mix of combined patterns of both, wp and woo, they are all good, but have problems for scalability.
WooCoommerce stores in the same table products and orders (side to side with WordPress blog posts, pages, menus…) it is quickly for deploys new stores, but in few moments everything can become a mess of data, stored mixed. The problem is when we have to update only certain product data, like stock quantity, and of course keep orders preserved, it is impossible to do (without temporary lock down live site for maintence) with bult-in WordPress, WooCommerce or even SQL commands, it is basic a lock-up.
To break that, the solution we take is a dirty little hack, that is only acceptable by expert users, who fully understand what we suggested and coded as a solution. We just released or fist hack plugin, it is avaiable on github and soons as we make a good documentation we will submit to wp plugins directory:
What F5 Sites | Woocommerce shop_order Tables does?
It creates a hack table on database called 9woo + wp prefix + shop_order + endpoint (posts or postmeta), and (by using hooks) whenever WordPress or WooCommerce asks for orders data it force $wpdb object to get if from another tables. It is a hack, you must have a deep understand about hook and wp core functions before you can take the most of our solution.