* 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
* Fix up tests in the product/* folder.
* Handle data store updates for grouped, variable, external, simple, and general data store updates for products.
* Variations & variable changes.
* Update -functions.php calls to use data store.
* Add an interface for the public product data store methods.
* Finished product factory tests
* Correctly delete in the api, fix up some comments, and implement an interface for the public variable methods.
* Fix up delete in all versions of the api
* Handle feedback
* Match protected decloration to parent
* No longer needed
* Remove old todos
* Use getters in admin list
* Related and upsells update for CRUD
* Fix notice in gallery
* Variable fixes and todos
* Context
* Price sync
* Revert variation attributes change
* Return parent data in view context
* Defer term counting
* wc_find_matching_product_variation
* Stock manage tweaks
* Stock fixes
* Correct id
* correct id
* Better sync
* Data logic setter fix
* feedback
wp_get_post_terms() is a wrapper around wp_get_object_terms() which does not
use the object cache, and generates a database query every time it is used.
get_the_terms() however can use data from the object cache if present.
* 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
* get_prop implementation in abstract and data classes
* Implement set_prop
* Change handling
* Array key exists
* set_object_read
* 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
* Initial props
* Work on admin saving
* Set/get attributes
* Atom was moaning about this before but no longer.
* Update get_shipping_class
* WC_Product_Attribute
* Use getter in admin panel
* Fix attribute saving
* Move settings into new files
* Refactor panels and use getters
* Use getters for variation panel
* Revert save variation changes for now
* Add todos
* Fix downloads
* Initial props
* Work on admin saving
* Set/get attributes
* Atom was moaning about this before but no longer.
* Update get_shipping_class
* WC_Product_Attribute
* Use getter in admin panel
* Fix attribute saving
* Spacing
* Fix comment
* wc_implode_text_attributes helper function
* 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
* Replace some context function with translation comments
* Remove two more context function
* Replace another context function with translation comments
* use set_stock to reset stock meta when not managing stock
Ensures that the 'woocommerce_{ variation | product }_set_stock' hooks fire to refllect the fact that stock becomes infinite.
* track state of Manage Stock? option
* quick/bulk edit fixes
* reapply quick and bulk edit fixes
* improve conditional reset logic that prevents actions from *_set_stock actions from firing with every save
If taxes are disabled in the “General settings tab”, then the “Tax” tab
disappears, and the suffix can no longer be edited, but is still
displayed in the store
This fix makes sure that the suffix is only displayed if taxes are
enabled
@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.
It's possible to change backorder status using filters via `woocommerce_product_backorders_allowed`.
However, it's not possible to set `$product->backorder` to `"notify"`.
Added a filter similar to `woocommerce_product_backorders_allowed`
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.
Since expect return an integer value, we can't return an empty string.
This can generate some kinds of errors like:
'' >= 1 returns false
'' >= -1 returns true
This can be a problem comparing stock quantity like we do in
WC_Product::has_enough_stock()
But using null we have:
null >= 1 returns false
null >= -1 returns false
cc @mikejolley
ref #9598