wc_paying_customer() needs to check against 'shop_order_refund', which is
the actual return value of WC_Order_Refund::get_type(). No object will return
'refund', so a customer would always be declared as a paying customer even
for refund orders.
* args is not used any more - remove todo
* Added test for attributes
* wc_get_price_excluding_tax usage
* parent usage
* Fix rating counts
* Test fixes
* Cleanup after tests
* Make sure status transition code runs even during API calls, not just in admin.
* Default visibility
* Fix attribute setting in API
* Use get name instead of get title
* variation id usage
* Improved cross sell templates
* variation_data
* Grouped product sync
* Notices
* Sync is not needed in API
* Delete
* Rename interfaces
* Update counts in data store
* Started on variation changes
* Stock functions
* Variation class
* Bulk change ->id to get_id() to fix variation form display
* Missing status
* Fix add to cart
* Start on stored data save
* save variation
* Save_variations
* Variation edit panel
* Save variations code works.
* Remove stored data code and fix save
* Improve legacy class
* wc_bool_to_string
* prepare_set_attributes
* Use wc_get_products
* More feedback fixes
* Feedback fixes
* use %s in translations strings
* merge simmilar error strings
* i18n: use sprintf() in translation strings to make them easier to understand for translators
* i18n: remove sprintf() function from translation string with unused parameter
* i18n: move colons and brackets into the translation strings
* revert comit addaa5d
* Fix broken sprintf()
* i18n: move colons into the translation strings on error messages
* Fix Travis-CI Error: operator must be surrounded by a single space
No issue. For much performance improvement.
If the moeny spent is 0, or the total order count is also 0, but actually set, the if clause will return false. Even after the body recalculates, for example the money spent, it will still be 0, which means it will never be stored on the user meta, and that body won't be short circuited.
In the case of sites with a lot of orders (customer has ~100k), that query takes about 13 seconds, and due to how the API works, during one request, it runs 4 times (we're working on solving that one though).
We probably want to see whether the meta is set or not. If it's not set, it will be an empty string.