@claudiosmweb This removes ‘in stock’ when not needed, and I broke the
methods up for clarity.
Also removed the variation specific logic as it was near identical and
not needed.
Nasty bug discovered by @RiaanKnoetze where it would get a variation
without parent, and due to the return, it wouldn’t be ‘seen’ as a
variation, therefore creating fatal errors when props are called.
To prevent this, lets allow product constructors to throw exceptions.
If they do, the factory class will catch them and return false instead
of an invalid product object.
@claudiosmweb Thoughts on this one before merge?
Reduce/increase order item stock is less important these days do to
automatic stock reduction (when status changes) and because when you
refund items you can restock items via checkbox. Manual stock changes
can be performed by editing products.
Decreases complexity of order items box.
If there are more variations than the threshold allows (set to 20
currently) this loads the matching variation via ajax instead of inline
in the HTML. #8477
The commit introduces 3 changes:
1. It adds 2 extra fields to the available_variations array,
display_price and display_regular_price, to be used by extensions in
cases like
https://github.com/woothemes/woocommerce-product-addons/issues/19
2. Introduces a get_display_price() function in WC_Product to retrieve
product prices incl or excl tax relative to the
woocommerce_tax_display_shop setting.
3. Fixes a minor issue where passing a 0 price to
get_price_including_tax() or get_price_excluding_tax() results in a
wrong output.
When SHA: 50a0577b81 introduced `$variation_level_meta_data` and
`$variation_inherited_meta_data`, it set their access to `private`.
Child classes of `WC_Product_Variation` should be able to extend these
properties to allow them to take advantage of the parent's `__isset()`
and `__get()` methods.
Related to #6065