Commit Graph

82 Commits

Author SHA1 Message Date
Néstor Soriano e9d692f455 Apply suggestions from code review
Mostly adding "since 4.4.0" annotations and updating
db update functions from 4.2 to 4.4.

Co-authored-by: Claudio Sanches <contato@claudiosanches.com>
2020-07-28 09:01:55 +02:00
Nestor Soriano 9c6c0d73d8 Record attribute terms for product variations in wp_term_relationships.
Product attributes are currently recorded as terms in
wp_term_relationships (product attributes are actually taxonomies).
In the case of variable products this is true for the main product,
but not for the variations. The attributes used to define variations
are stored as post meta, but nothing is recorded in the term
relationships table.

This is a problem when using the layered nav filtering plugin,
since the attribute counters displayed are calculated based solely
on the contents of the term relationships table. Adding meta queries
would be really messy (especially when the widget is configured
with AND operator) and would probably also hurt performance.

This commit adds a change to store the attributes for variations
as term relationships, additionally to storing them as post meta.
Terms are stored on variation creation, and updated/deleted together
with the variation as appropriate. "Any" variations (stored in meta
as empty values) are not stored as terms.

Additionally, a database upgrade is included in order to backfill
terms for already existing products.
2020-07-28 08:55:55 +02:00
Nestor Soriano 752b47513d Fix code sniffer errors in some files.
Fixed files:

includes/data-stores/class-wc-product-variable-data-store-cpt.php
includes/wc-update-functions.php
2020-07-28 08:55:55 +02:00
Claudio Sanches 104f40c36e
Merge pull request #24281 from woocommerce/fix/24269
Handle multiple decimal points
2019-12-09 14:07:29 -03:00
Claudio Sanches 78e382e4d6 Fixed incorrect concatenation of variation sale prices with ".00" 2019-12-06 12:37:23 -03:00
Frédéric Demarle 0fa582a25f Coding standards 2019-07-26 13:40:13 +02:00
Frédéric Demarle e3dd09d021 Fire related actions when deleting all product variations 2019-07-26 11:55:30 +02:00
Mike Jolley 57929f2b09 During initial lookup generation set option 2019-04-23 15:23:47 +01:00
Mike Jolley 4b2f7aedd4 Trigger sync after updating meta 2019-03-13 13:53:58 +00:00
Mike Jolley 0002463c61 child_has_stock_status use lookup 2019-03-13 13:48:38 +00:00
Mike Jolley 3309276e82 Renamed table to wc_product_meta_lookup 2019-02-15 12:37:45 +00:00
Mike Jolley 4dd5cef7b9 Unused key variable 2019-02-12 14:19:37 +00:00
Mike Jolley 64df8a2934 update lookup tables handlers and actions 2019-02-12 13:23:47 +00:00
Mike Jolley 00b48febac Merge branch 'update/versioned-transients-alt' 2019-02-06 13:18:50 +00:00
Mike Jolley cb4bf5d1e5 Fix unit tests 2019-02-06 12:44:24 +00:00
Mike Jolley 7c0273fa12 Prime caches when reading variations 2019-01-28 15:00:48 +00:00
Mike Jolley 43ba62dc86
Merge pull request #22067 from Prospress/fix/22046
populate default variation attributes when it is the first variation
2019-01-22 17:29:54 +00:00
Mike Jolley 08d7e319b6 Version handling for var prices 2019-01-21 12:56:55 +00:00
Mike Jolley 4fc197c67d
Merge pull request #21003 from Chunkford/patch-2
Giving the ability to add custom pricing data - read_price_data()
2019-01-16 15:22:40 +00:00
Ron Rennick 50b36e549f phpcsw sniff fixes for class-wc-product-variable-data-store-cpt.php 2018-12-13 14:35:24 -04:00
Ron Rennick 36c220f0d6 fix merge conflicts, add missing wpdb::prepare 2018-12-13 14:21:25 -04:00
Ron Rennick f9b2ff170f add missing wpdb::prepare calls 2018-11-30 15:52:20 -04:00
Ron Rennick ef23f0bb8f fix phpcs passing array arguments to wpdb::prepare 2018-11-29 14:52:52 -04:00
Ron Rennick 9e520af93e populate default variation attributes when it is the first variation 2018-11-28 11:40:35 -04:00
Ron Rennick 042c61cc5d fix phpcs sniffs in class-wc-product-variable-data-store-cpt.php 2018-11-28 11:22:07 -04:00
Rodrigo Primo 6ec2b26972 Update WordPress.DB.PreparedSQL.NotPrepared sniff name
The latest version of WPCS that was added to WC last week, changed the name of some sniffs. This commit updates the name of one of those sniffs from WordPress.WP.PreparedSQL.NotPrepared to WordPress.DB.PreparedSQL.NotPrepared.
2018-11-23 15:10:52 -02:00
Rodrigo Primo 57f44798cb Fix phpcs violations automatically using phpcbf 2018-11-23 12:57:51 -02:00
Chunkford 1b49a2d545
Update class-wc-product-variable-data-store-cpt.php 2018-08-08 12:45:03 +01:00
Chunkford c9f60f7669
Update class-wc-product-variable-data-store-cpt.php 2018-08-08 12:31:38 +01:00
Chunkford a3c826c1e4
Giving the ability to add custom price data
I need a way to add my own pricing data to the variation data store, so I can check which price to display on the product and category pages, So instead of adding unnecessary load by leading each variation object to extract the data and meta I need, this gives me a way to get the data through the data store which in turns uses transients instead.
2018-08-07 22:39:05 +01:00
Mike Jolley 5e14953796 Avoid price setting when synced with children 2018-06-11 11:44:58 +01:00
Mike Jolley 8e0f0cbc29 Lazy load children and attributes for variable products 2018-05-01 11:57:00 +01:00
Mike Jolley a5a6d02f86 Fix null check introduced by phpcs changes 2018-03-13 11:57:51 +00:00
Rodrigo Primo 71043bdc0e PHPCS fixes in includes/data-stores/class-wc-product-variable-data-store-cpt.php 2018-03-08 15:33:02 -03:00
Rodrigo Primo 2b5103c849 Fix phpcs violations using phpcbf 2018-03-08 14:30:43 -03:00
Mike Jolley c3623a9967 Update docblock for $include_taxes
Closes #18053
2017-12-07 11:46:35 +00:00
claudiulodro a878b0cde5 Some phpcs 2017-11-22 14:03:26 -08:00
claudiulodro 9ec24731bb Generalize child_is_in_stock 2017-11-21 15:06:35 -08:00
claudiulodro a73436bdcd Merge remote-tracking branch 'origin/master' into HEAD 2017-11-20 14:43:12 -08:00
claudiulodro cebe335dda Update routine 2017-11-20 14:21:08 -08:00
claudiulodro 03d51e5471 Tweak variable on backorder logic 2017-11-20 11:32:30 -08:00
claudiulodro b64b26d030 Variable products are on backorder if all children are backordered 2017-11-20 11:19:06 -08:00
Mike Jolley a23541ad5d Fix 4.9 conflict with variation names
`santiize-title` works differently with `/` chars in 4.9. This update
routine keeps variations functioning by doing a DB update on read.

Fixes #17775
2017-11-18 14:53:18 +00:00
claudiulodro dddf0ee473 Variable product sync 2017-11-17 08:46:49 -08:00
Mike Jolley 11d0293ddd non-enabled children should not be ignored
This fixes #17713 by also returning private children (non-enabled).
2017-11-16 11:56:51 +00:00
Rodrigo Primo a3f14c7256 Caches call to load product variation attributes
This commit adds product variation attributes to WP cache when they are first loaded to avoid running the same database queries when the same product is loaded multiple times. This cache will be invalidated whenever product attributes are changed.

Fixes #17120
2017-10-27 10:01:23 -02:00
Rodrigo Primo fb70ae3fea Coding standards fixes 2017-10-25 17:53:17 -02:00
Mike Jolley 3faa1c1ee9 Unset variable prices on read.
Closes #16145
2017-07-20 12:48:14 +01:00
Jaydeep Rami 3522857d23 Fix typo in WooCommerce plugin (#16135)
* Fixed typo

* Fixed more typo

* Fixed more typo

* Fix tyop

* Fix more typo

* Fix more typo

* Fix typo

* Fix typo

* Fix typo

* Fix typo datatime object

* Fix short name of compat

* Fix typo: update short name

* Fix typo "deactive" to "deactivate" and short BW - Compat

* Fix typo "Backwards compat"

* Fix typo 'parameters'

* Fix more typo 'pararmeters'

* Fix typo 'compund'

* FIx typo order

* Fix typo

* Fix typo 'incorrecly'

* Fix typo 'genarate'

* Fix typo 'reletive'

* Fix typo 'Handly'

* Fix typo 'rotatated'

* Fix typo

* Fix typo 'additonal'

* Fix typos
2017-07-17 11:10:52 +01:00
Rasmus Bengtsson 185934fad9 Fix phpdoc to include params and correct types 2017-05-15 13:50:52 +02:00