* 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
* 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
* Spacing
* Fix comment
* wc_implode_text_attributes helper function
* register prettyPhoto but don't enqueue. #10721
* Remove lightbox option. #10721
Also registers the prettyPhoto styles instead of enqueueing
* Stip all prettyPhoto related stuff from the templates and tidy up some logic. #10721
* Add flexslider assets #10721
* styling and re-adds `woocommerce_single_product_image_thumbnail_html`. #10721.
* Add zoom functionality. #10721
* Move js to single-product.js. #10721
* styling of the gallery thumbnails when using the `product_page` shortcode. #10721
* Only enable the zoom if the image is large enough. #10721
* Use a 4 column layout by default. #10721
* Make the carousel options filterable. #10721
* rtl styles for gallery. #10721
* Don't zoom on handheld devices. #10721
* markup tweaks in prep for photoswipe
* disable zoom for now
* Add and enqueue photoswipe assets
* add the photoswipe template
* initialise photoswipe - it's alive!
* tidy up js. add title. add separate trigger. #10721
* Move photoswipe functions to single-product.js. #10721
* reactivate the zoom! #10721
* style the photoswipe trigger. #10721
* disable flexslider animation loop. #10721
* js tidy up. #10721
* Fix jshint
* Abstract the product gallery scripts
* Minify
* Fixed conflict with the admin bar
* Photoswipe conflict with admin bar
* Index. #10721
* photoswipe button styles. #10721
* Styling. #10721
* No animation on zoom
* Image width on mobile
* No shadows please. #10721
Looking at you, Twenty Twelve.
* code tidy and add class to placeholder figure. #10721
* simplify rtl query
* photoswipe button styles
* Comma should not be here
* zoom icon #10721
* gallery thumb styles. #10721
* trigger icon. #10721
* Image margins. #10721
* icon hover states. #10721
* Variation handling
* Fix zoom and heights
* Resize after timeout
Fixes#11812
$this->array was only used to return to the user. Comparison was done with $prices_array, which did not contain the version information because it was never saved in the transient.
Closes#10195
cc @claudiosmweb
Since this uses `$this->get_children( true );` it will also hide out of
stock variation attributes if that setting is enabled.