Commit Graph

217 Commits

Author SHA1 Message Date
Mike Jolley 76b32c9aa5 WIP - Product CRUD (#12065)
* Created function to get the catalog visibility options

* First methods for WP_Product crud

* Product set methods

* Fixed several erros while setting data

* First methods for WP_Product crud

* Product set methods

* Fixed several erros while setting data

* Hardcode the get_type per product class

* Initial look through getters and setters and abstract data

* Missing var

* Add related product functions and deprecate those in class.

* No need to exclude ID

* Fixed coding standards and improved the docblocks

* Get cached terms from wc_get_related_terms()

* Fixed wrong variable in wc_get_related_terms

* Use count() instead of sizeof()

* Sanitize ids later

* Remove unneeded comments

* wc_get_product_term_ids instead of related wording and use in other places.

get_the_terms is used here and also handles caching, something
wp_get_post_terms does not.

* Clean up the abstract product class a bit, deprecate two functions we have renamed, make update & create work properly, and add some tests for it.

* Bump template version

* Handle PR feedback: Remove duplicate regular_price update, allow changing of post status for products, remove deprecation for get_title since we might still offer it as a function

* Made abstract function useful

* External Product CRUD

* _virtual meta should be 'no', not taxable, in product unit test helper

* Grouped product class

* Tests

* Move children to meta and update test

* Use get_upsell_ids

* Spacing in query

* Moving and refactoring methods

* Availability html

* Tidy/add todos

* Rename method

* Put back review functions (still todo)

* missing $this

* get_price_including_tax/excluding_tax functions

* wc_get_price_to_display

* Price handling

* [Product CRUD] Variable (#12146)

* [Product CRUD] Variable Products

* Handle PR feedback.

* [Product CRUD] Grouped Handling (#12151)

* Handle grouped product saving

* Update routine

* [Product CRUD] Product crud terms (#12149)

* Category and tag id handling

* Replace template functions

* Remove todo

* Handle default name in save function

* Product crud admin save routine (#12174)

* 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

* [Product CRUD] Product crud admin use getters (#12196)

* 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

* REST API CRUD Updates

* Additional API updates/fixes. Added some todos

* Fix final failing tests and implementing setters/getters and attributes functionality.

* Fix comparison for is_on_sale and remove download_type from WC_Product.

* Add a wc_get_products wrapper.

* Remove the download type input from the product data metabox for downloadable products. (#12221)

* [Product CRUD] Variations - setters, getters and admin. (#12228)

* 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

* Implement CRUD in the legacy REST API

* Handle PR feedback

* [Product CRUD] Getter setter proxy methods (#12236)

* 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

* Use get_the_terms() instead of wp_get_post_terms()

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.

* Allow WP_Query to preload post data, and meta in wc_get_products()

Allow WP_Query to bulk query for post data and meta if more than
just IDs are requested from wc_get_products(). Reduces query count
significantly.

* [Product CRUD] Variable, variation, notices, and stock handling (#12277)

* 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

* First methods for WP_Product crud

* Product set methods

* Fixed several erros while setting data

* Hardcode the get_type per product class

* Initial look through getters and setters and abstract data

* Missing var

* Fixed coding standards and improved the docblocks

* Get cached terms from wc_get_related_terms()

* Fixed wrong variable in wc_get_related_terms

* Use count() instead of sizeof()

* Add related product functions and deprecate those in class.

* No need to exclude ID

* Sanitize ids later

* Clean up the abstract product class a bit, deprecate two functions we have renamed, make update & create work properly, and add some tests for it.

* Remove unneeded comments

* wc_get_product_term_ids instead of related wording and use in other places.

get_the_terms is used here and also handles caching, something
wp_get_post_terms does not.

* Handle PR feedback: Remove duplicate regular_price update, allow changing of post status for products, remove deprecation for get_title since we might still offer it as a function

* External Product CRUD

* _virtual meta should be 'no', not taxable, in product unit test helper

* Bump template version

* Made abstract function useful

* Grouped product class

* Tests

* Move children to meta and update test

* Use get_upsell_ids

* Spacing in query

* Moving and refactoring methods

* Availability html

* Tidy/add todos

* Rename method

* Put back review functions (still todo)

* missing $this

* get_price_including_tax/excluding_tax functions

* wc_get_price_to_display

* Price handling

* [Product CRUD] Variable (#12146)

* [Product CRUD] Variable Products

* Handle PR feedback.

* [Product CRUD] Grouped Handling (#12151)

* Handle grouped product saving

* Update routine

* [Product CRUD] Product crud terms (#12149)

* Category and tag id handling

* Replace template functions

* Remove todo

* Handle default name in save function

* Product crud admin save routine (#12174)

* 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

* [Product CRUD] Product crud admin use getters (#12196)

* 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

* REST API CRUD Updates

* Additional API updates/fixes. Added some todos

* Fix final failing tests and implementing setters/getters and attributes functionality.

* Fix comparison for is_on_sale and remove download_type from WC_Product.

* Add a wc_get_products wrapper.

* Remove the download type input from the product data metabox for downloadable products. (#12221)

* [Product CRUD] Variations - setters, getters and admin. (#12228)

* 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

* Implement CRUD in the legacy REST API

* Handle PR feedback

* [Product CRUD] Getter setter proxy methods (#12236)

* 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

* Use get_the_terms() instead of wp_get_post_terms()

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.

* [Product CRUD] Variable, variation, notices, and stock handling (#12277)

* 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

* Prevent notices

* Handle image_id from parent

* Fix error

* Remove _wc_save_product_price

* Remove todo

* Fixed wrong variation URLs

* Fixed undefined $image_id in WC_Product_Variation::get_image_id()

* Allow wc_rest_prepare_date_response() handle timestamps

* Updated get methods on REST API for variations

* Use variations CRUD to save variations metadata

* [Product CRUD] Abstract todos (#12305)

* Get dimensions and weights, with soft deprecation

* Product attributes

* Ratings

* Fix read method

* Downloads

* Feedback

* Revert "[Product CRUD] Abstract todos (#12305)"

This reverts commit 9a6136fcf8.

* Remove deprecated get_variation_id()

* New default attributes method

* [Product CRUD] Product Datastore (#12317)

* 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

* Product crud abstract todos (#12316)

* Get dimensions and weights, with soft deprecation

* Product attributes

* Ratings

* Fix read method

* Downloads

* Feedback

* Fix up store

* Fixed method returning in write context

* Fix error in variation admin

* Check for parent value - fixes tax class

* Remove old/complete todos

* Allow set tax class as "parent"

* Removed duplicated sync

* Fixed wrong variation URLs

* Fixed undefined $image_id in WC_Product_Variation::get_image_id()

* Allow wc_rest_prepare_date_response() handle timestamps

* Updated get methods on REST API for variations

* Use variations CRUD to save variations metadata

* Remove deprecated get_variation_id()

* New default attributes method

* Fixed method returning in write context

* Allow set tax class as "parent"

* Removed duplicated sync

* Fixed coding standards

* TODO is not accurate.

* Should pass WC_Product instancies to WC_Comments methods (#12327)

* Use new method in abstract order class to prevent headers sent issue in tests

* Fixed variable description in REST API

* Updated how create initial product variation

* Fixed a few fatal errors and warnings in Products CRUD (#12329)

* Fixed a few fatal errors and warnings in Products CRUD

* Fixed sync functions

* Add variations CRUD to legacy API (#12331)

* Apply crud to variable products in legacy API v1

* New REST API do not need fallback for default attributes

* Apply variations CRUD to legacy API v2

* Legacy v2 - save default attributes

* Variations in legacy API v2 do not have descriptions

* Fixed legacy API v2 variations params

* Applied variations CRUD to legacy API v3

* Sync before save in legacy apis

* Punc

* Removed API todos

* Removed test

* Products endpoint tweaks (#12354)

* Var type already normalized on CRUD

* Let Product CRUD handle with validation, sanitization and conditional checks

* Set downloads using WC_Product_Download

* Stop try catch exceptions more than one time

* Handle WC_Data_Exception in legacy API

* Complete remove products when fails on creating

* On creating I mean!

* Already have a method to complete delete products

* Fixed standards using WP CodeSniffer

* get_the_terms() returns false when empty

* get_manage_stock returns boolean

@claudiosanches

* Merge conflict

* Variations API endpoint fixes

* Product CRUD improvements (#12359)

* 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
2016-11-16 12:38:24 +00:00
Mike Jolley 5f886c326a [2.6] Populate attribute dropdown when empty
Fixes #11983
2016-10-14 12:09:24 +01:00
Claudio Sanches e67bbba878 Fixed undefined variables 2016-10-13 20:29:50 -03:00
James Koster 3823b78318 Add/product galleries (#11665)
* 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
2016-10-13 15:25:42 +01:00
Aristeides Stathopoulos 734f284fa4 WordPress.PHP.YodaConditions.NotYoda 2016-09-08 01:32:24 +03:00
Aristeides Stathopoulos d4e3faf014 PEAR.Functions.FunctionCallSignature.SpaceAfterOpenBracket 2016-09-02 04:51:31 +03:00
Mike Jolley 402d0ff077 Merge branch 'master' into pr/11797
# Conflicts:
#	includes/admin/meta-boxes/class-wc-meta-box-coupon-data.php
#	includes/api/class-wc-rest-coupons-controller.php
#	includes/class-wc-coupon.php
#	tests/unit-tests/api/coupons.php
#	tests/unit-tests/coupon/crud.php
2016-09-01 11:43:31 +01:00
Mike Jolley 0a3506777b Inline comments to make this clearer 2016-08-31 17:52:03 +01:00
Gabor Javorszky 219480b329 Save the version on the property too 2016-08-31 16:21:17 +01:00
Gabor Javorszky 9cfa231167 Fixes reset cache and version assignment for variable product prices
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.
2016-08-31 11:12:49 +01:00
Aristeides Stathopoulos fb62d280b5 WordPress.WhiteSpace.OperatorSpacing.NoSpaceBefore 2016-08-27 09:07:42 +03:00
Aristeides Stathopoulos 72ee94d11b WordPress.Arrays.ArrayDeclaration.SpaceBeforeComma 2016-08-27 05:46:40 +03:00
Aristeides Stathopoulos b063bcfe4c last item in a multiline-array should end in a comma 2016-08-27 04:46:45 +03:00
Mike Jolley b0064bddf6 Remove boolval 2016-08-04 11:12:14 +01:00
Mike Jolley 5a9dacd595 Show variable weights/dimensions even when parent values are not set. 2016-08-03 16:07:34 +01:00
Mike Jolley 579175257f Add transient version to price hash
Closes #11520 @claudiosmweb
2016-07-25 13:33:35 +01:00
Claudio Sanches 08f95481e0 Normalize the "Read more" button text, closes #11319 2016-06-30 15:16:26 -03:00
Mike Jolley 594641422d Show read more if variable product is out of stock 2016-06-07 14:34:27 +01:00
Mike Jolley 3fd15ad50f Unused vars and code docs 2016-06-06 18:57:24 +01:00
Manos Psychogyiopoulos 35ff166a85 woocommerce_variation_prices filter runs only for the first hashed prices array loaded from the transient 2016-05-25 00:54:07 +03:00
Mike Jolley e552c3c916 Remove filter to hide variations with no prices in get_children()
#10854
2016-05-10 18:23:16 +01:00
Mike Jolley edbb03a5d8 Only exclude variations with no price if filter is set
Closes #10854
2016-05-05 16:05:40 +01:00
Mike Jolley be9b7bd4b5 If no variation ID is set, do a match
Closes #10737
2016-04-20 12:35:06 +01:00
Mike Jolley 3a5feddbf5 [2.5] Set captions 2016-03-30 11:15:34 +01:00
Mike Jolley 00a6fe8682 [2.5] Allow big selects when getting variations 2016-03-08 11:33:04 +00:00
Mike Jolley c469ab920b Use wpdb query instead of looping over children
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.
2016-02-15 15:53:43 +00:00
Mike Jolley 3dba3378c2 Merge pull request #10315 from woothemes/layered-nav-wp-query
Layered Nav Improvements
2016-02-12 11:59:40 +00:00
Mike Jolley fd38adcc36 Format variations to same type
Fixes #10310
2016-02-11 15:22:51 +00:00
Mike Jolley 5b0abaaa1b Sync min and max price for better filtering! 2016-02-09 20:16:08 +00:00
Mike Jolley a78edb2af2 [2.5] If an attribute meta key is not set, technically its 'any', so should match. Prevents issues when meta data is missing after renaming attributes
@claudiosmweb please test :)

#10272
2016-02-04 18:25:06 +00:00
Mike Jolley 35e45e6075 Make price function clearer
@tamarazuk @franticpsyx @daigo75 Hopefully this makes it clearer which
values are returned and when the filter is ran.
2016-01-13 15:07:47 +00:00
Fredrik Forsmo f1920cb882 Improve docblock comments in various WC_Product classes
* Added comments to methods that was `method function`
2016-01-06 16:15:00 +01:00
Mike Jolley 8b9bdbb228 Product version storage to invalidate cache when needed
#9922 for @daigo75
2015-12-31 16:31:20 +00:00
Mike Jolley 7c7e21be50 Only use the 'function' portion when generating price hashes
Keeps hashes the same after page load when a plugin uses a class method
callback or anonymous function Closes #9922 @claudiosmweb
2015-12-31 16:21:12 +00:00
Mike Jolley 429fee1703 JSON instead of serialise should reduce storage size
#9922
2015-12-31 13:15:01 +00:00
Mike Jolley 0b678ab2af Tweak save logic to set _price for variables/groups via sync functions only
Closes #9892
2015-12-23 13:08:45 +00:00
Mike Jolley 496eb3385e srcset sometimes is false. 2015-12-09 10:29:41 +00:00
Mike Jolley 61c3e74d4f srcset should not be set to 'false' 2015-12-07 11:57:02 +00:00
Mike Jolley 12db1d4637 Notify users of no variations but leave status as is.
Closes #9713
2015-12-03 10:14:00 +00:00
Mike Jolley 75529edbe5 Merge branch 'pr/9628' 2015-11-27 13:00:39 +00:00
Mike Jolley 03d9239f40 Correct variable name 2015-11-27 13:00:08 +00:00
Mike Jolley 615c262f6f Function exists for wp_get_attachment_image_srcset and sizes
Sizes #9714
2015-11-27 11:30:47 +00:00
Tiago Noronha 3fdec7f4a8 Init added variables if product doesnt have featured image. 2015-11-24 23:00:25 +00:00
Tiago Noronha 105105db06 Adds support for srcset and sizes attributes in variation images. 2015-11-23 16:35:11 +00:00
Dominic 5ef59c511b Optimize filter loop
The current method loops through every defined hook in the WordPress
environment (over 400 on one of my tests). This method only checks the 3
filters in question.
2015-11-17 00:27:44 -08:00
Mike Jolley b59ec6de76 Move var definition to abstract 2015-11-14 16:39:53 +00:00
Mike Jolley 3a096b3b64 Remove transient from get_total_stock and combine into abstract
Grouped and variable methods were identical. Caching benefit comes from
get_children
2015-11-14 16:34:47 +00:00
Mike Jolley 70d9f58811 Version not needed for wc_var_prices
This transient doesn’t need to expire often because the hashes will be
unique if taxes change.

This change means a variable product will only use 1 transient rather
than many.
2015-11-13 20:01:42 +00:00
Scrutinizer Auto-Fixer 08efaf84df Scrutinizer Auto-Fixes
This commit consists of patches automatically generated for this project on https://scrutinizer-ci.com
2015-11-05 16:05:03 +00:00
Claudio Sanches ee30b5b308 Fixed php docs standards 2015-11-03 11:31:20 -02:00
Mike Jolley 6027b355ca Further get_variation_prices tweaks
For 2.5, I’ve adjusted the caching to store 1 transient per variable
product. The cache key etc is still needed, but its stored within a
single transient instead of several.

This should prevent exponential growth of transient data for users.

Thoughts?

@daigo75 @franticpsyx @claudiosmweb
2015-10-09 12:49:39 +01:00
Mike Jolley 84f83e0bf4 Fix return value @roykho 2015-10-05 14:39:08 +01:00
roykho 5ba6ff1dac fix variation image flicker issue when default variations are set closes #7904 2015-10-02 03:45:11 +02:00
Diego Zanella 5da98ce782 Fixed loading of variation prices
The original method loaded the prices once, then stored them in a property of the product instance. Any subsequent calls to WC_Product_Variable::get_variation_prices() would get the stored prices, regardless of the value of the $display argument.
2015-09-25 16:11:41 +01:00
Mike Jolley 3dbe9ccd95 Better fallback for ajax variations in case sync_attributes has ran 2015-09-14 16:50:58 +01:00
Mike Jolley fc78f85bc6 Merge branch 'pr/9034' 2015-09-14 15:56:38 +01:00
Mike Jolley 3a1bcd8e7d Store prices in class to prevent running get_variation_prices multiple times 2015-09-14 15:09:57 +01:00
Mike Jolley 2d90e1c6c6 Ensure _product_version checks act the same regardless of the attributes being checked 2015-09-14 12:12:05 +01:00
Mike Jolley 8ec5986d48 Tweak hash logic 2015-09-09 22:29:54 +01:00
Manos Psychogyiopoulos e3dad9106f elseif 2015-09-07 19:17:33 +03:00
Manos Psychogyiopoulos d9d11974fe introduce context in transient with price filters 2015-09-07 19:13:41 +03:00
Manos Psychogyiopoulos 68e24c8f8a no filters allowed when generating variable product price transients 2015-09-03 19:04:31 +03:00
Mike Jolley 28da8a40d8 Tweak wc_var_prices naming to allow them to be flushed on save 2015-08-26 12:28:04 +01:00
Mike Jolley ae21b511f0 Support 0 value attributes 2015-08-24 13:32:20 +01:00
Mike Jolley ae207466d4 Ajax variation < 2.4 attribute name handling. 2015-08-23 21:47:04 +01:00
Mike Jolley dc1798f942 woocommerce_variable_children_args hook. 2015-08-13 23:35:41 +01:00
Diego Zanella 5b29d23daf Added filter for Variable Products, as suggested in #8820
* The new filter allows to alter the query used to retrieve children of a variable product.
2015-08-13 22:42:16 +01:00
Mike Jolley 56b6c0ab9c Link to full image
Closes #8809
2015-08-13 16:55:32 +01:00
Mike Jolley a52619c344 Ajax variation handling when 'any' attribute is set. 2015-08-13 13:57:26 +01:00
Mike Jolley 61f7dd428e use shop_single instead of full image size for variations.
Closes #8764
2015-08-11 12:54:26 +01:00
Mike Jolley 42e99286c7 If all variations are out of stock, maintain pricing. 2015-08-11 10:33:47 +01:00
Mike Jolley 77b2316d80 Merge pull request #8754 from JeroenSormani/is_on_sale
FIx is_on_sale bug on variable products
2015-08-10 15:43:35 +01:00
JeroenSormani 95609928ba FIx is_on_sale bug on variable products 2015-08-10 16:36:40 +02:00
Mike Jolley 7363c85a2c Get filtered variation prices #8753 2015-08-10 15:34:10 +01:00
Mike Jolley 060fb16e2e Move Pre 2.4 handling for attributes - DRY
@claudiosmweb @franticpsyx
2015-07-28 16:20:51 +01:00
Mike Jolley 6626c68175 When syncing OLD products, update the attributes to 2.4 standard 2015-07-28 15:13:25 +01:00
Mike Jolley 794af1c013 When the stock level is changed via update_post_meta ensure the stock_status is kept in sync
Closes #8605
2015-07-27 19:04:08 +01:00
Mike Jolley 9a7893ba23 Moved variation dropdowns logic into wc_dropdown_variation_attribute_options() 2015-07-27 16:42:22 +01:00
Mike Jolley dcd273d343 Rename transient - 45 chars is max legnth 2015-07-27 10:57:14 +01:00
Claudio Sanches 9e41552342 Removed all "@return void" 2015-07-16 16:55:48 -03:00
Claudio Sanches 8d2a98eab1 Improved some docblocks 2015-07-16 16:29:01 -03:00
Mike Jolley 30b01ff9b6 Add filter to force price display 2015-07-09 16:15:05 +01:00
Mike Jolley 5f8a5bcb63 We don't need get_transient_version for children transients because other products do not affect this. 2015-07-09 16:02:26 +01:00
Mike Jolley 65f19d5ca7 Ajax variation handling
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
2015-07-09 15:56:20 +01:00
Mike Jolley 622b11ae9f Add version check to prevent pre-2.4 logic kicking in when not needed
@claudiosmweb
2015-06-16 15:10:53 +01:00
Mike Jolley 12396f4296 Attempted bw compat by comparing sanitised text to real text 2015-06-11 15:42:18 +01:00
Mike Jolley 89f7e15052 Save full version of text based attributes when dealing with variations 2015-06-11 14:43:02 +01:00
Mike Jolley aaaef5bfcf [2.3] Incorrect wc_product_total_stock_ transient
Closes #8337
2015-06-10 18:28:34 +01:00
Mike Jolley 5771969c2c Prevent notices in get_children 2015-06-09 10:32:40 +01:00
Mike Jolley 68974655d6 Tweak visible child product query and cache 2015-06-08 13:18:23 +01:00
roykho b812b2fd94 add dynamic variation description feature 2015-05-14 10:56:26 -07:00
Mike Jolley 906940791a Merge branch 'variation-prices-sync' 2015-05-01 15:01:14 +01:00
Illimar Tambek 3e9c56a5ca Pass current variation to woocommerce_hide_invisible_variations filter 2015-04-29 12:16:58 +03:00
Nicola Mustone d2af01df5b scrutinizer suggested tweaks 2015-03-27 16:15:40 +01:00
Mike Jolley 302fca886c ID needs to be part of transient 2015-03-25 16:27:11 +00:00
Mike Jolley 8cb2ca86d7 Store variation ID in transient 2015-03-25 16:23:19 +00:00
Mike Jolley c76a08aad2 woocommerce_variation_prices filter 2015-03-25 15:48:51 +00:00
Mike Jolley 01c13a52cd Fix price/sale price listings 2015-03-25 15:23:28 +00:00
Mike Jolley 99fcb77262 woocommerce_get_variation_prices_hash array 2015-03-25 14:52:33 +00:00
Mike Jolley 0ab0a12156 _has_multiple_variation_tax_rates no longer needed 2015-03-25 13:37:11 +00:00