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
Christopher Allford
1d1413b4ee
Replaced direct access of many constants with the Constants library
2020-01-31 22:18:47 -08:00
Claudio Sanches
3ebda4a431
Use WC_Data_Exception in WC_Product_Variation_Data_Store_CPT
2020-01-06 21:35:23 -03:00
Rodrigo Primo
27915dd696
Exception when WC_Product_Variation is instantiated with the wrong type
...
This commits changes WC_Product_Variation to raise an exception when the
class is instantiated with an ID that belongs to a post object that is
not a product variation.
This is necessary to avoid problems like the one described in #24956
where passing a variable product ID to WC_Product_Variation would result
in transparently modifying the variable product title and excerpt.
2019-12-05 15:45:48 -03:00
Rodrigo Primo
61a843679a
Fix WPCS violations automatically using phpcbf
2019-12-05 15:45:12 -03:00
Mike Jolley
e354bb90aa
Pass objects to new/update actions
2019-04-17 12:50:46 +01:00
Peter Fabian
fb0f112c6d
Update the db only once if both title and attributes got updated.
2019-03-12 12:55:15 +01:00
Peter Fabian
d3dfee7353
Updated docs.
2019-03-09 12:09:50 +01:00
Peter Fabian
ec0767b3ce
Added attribute summary prop getters and setters.
2019-03-09 12:09:09 +01:00
Peter Fabian
4e177d264d
Corrected comment.
2019-02-26 11:15:16 +01:00
Peter Fabian
06118db3d5
Added lazy-update of post_excerpt for variations to avoid the need for db update routine.
2019-02-26 11:11:45 +01:00
Peter Fabian
618355bcab
Merge branch 'master' into feature/variation-search
...
# Conflicts:
# includes/class-wc-install.php
# includes/wc-update-functions.php
2019-02-18 17:18:44 +01:00
Mike Jolley
893b33973c
Merge branch 'fix/22147'
2019-02-04 13:05:40 +00:00
Mike Jolley
e31b35597a
Slash meta values to preserve slashes on save
2019-01-08 13:28:26 +00:00
Ron Rennick
1a02e9f64a
update variation guid with the id after creation
2019-01-02 14:26:08 -04:00
Peter Fabian
9389cf4089
Added storing attribute values as post_excerpt for variations.
...
This allows searching for variations by their attributes without cluttering the Variation's title.
2018-11-29 17:33:16 +01: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
Joey
cd8416122f
removed low stock options for variations, and addressed changes
2018-06-19 12:40:27 +01:00
Joey
b08b55a651
added changes for low stock notifications per product
2018-05-27 05:40:58 +01:00
Mike Jolley
2ed018d542
Trigger post modified update when saving products and variations, but no other product data
...
Closes #19562
2018-04-03 12:51:58 +01:00
Rodrigo Primo
26b5524df1
PHPCS fixes in includes/data-stores/class-wc-product-variation-data-store-cpt.php
2018-03-08 15:33:15 -03:00
Rodrigo Primo
2b5103c849
Fix phpcs violations using phpcbf
2018-03-08 14:30:43 -03:00
Mike Jolley
472e64270a
Check parent status when seeing if variation is purchasable.
2018-02-20 12:34:33 +00:00
Mike Jolley
5587ff6874
Variation data store should remove product_type term on save
...
Closes #16409
2017-08-11 12:32:12 +01:00
Mike Jolley
6421b2a0be
Fix rtrim for non - separators
2017-07-12 15:17:48 +01:00
Mike Jolley
8dcbf9aa8d
Force date created on update if not set.
...
Closes #15834
2017-06-28 12:25:23 +01:00
Claudiu Lodromanean
5ebc4a4010
Merge pull request #15740 from woocommerce/update/prime-term-caches
...
Update/prime term caches for product queries
2017-06-22 08:18:55 -07:00
Mike Jolley
67bc729ea5
update_post_caches for all posts at once
2017-06-22 13:39:17 +01:00
Mike Jolley
74cb2965b3
Ensure we have a parent
...
Fixes #15737
2017-06-22 12:06:10 +01:00
Mike Jolley
e06aa6f60a
Prime term cache before read
2017-06-21 17:09:39 +01:00
claudiulodro
57c5bab731
Space
2017-06-14 09:58:15 -07:00
Mike Jolley
cb34cb8d81
Made variations more lenient so that they can be created whilst a parent does not yet exist
2017-06-14 16:37:46 +01:00
Mike Jolley
012f251e42
Update variation outofstock term on save.
2017-06-12 13:09:47 +01:00
Mike Jolley
e0a64ad36a
Variations to inherit catalog_visibility
2017-06-06 14:49:32 +01:00
Mike Jolley
fc4a9d185e
Move changes after set name
2017-05-31 16:28:55 +01:00
Claudio Sanches
bc3c7f6bbd
Merge branch 'master' into fix/15315
2017-05-31 11:59:49 -03:00
Mike Jolley
6883b49e81
Atom sucks
2017-05-31 15:57:49 +01:00
Mike Jolley
21300951f1
Fix tests due to generated names
2017-05-31 13:48:28 +01:00
Mike Jolley
532ddfa6b0
Merge conflicts
2017-05-31 12:23:52 +01:00
Mike Jolley
2346af1816
Update title if changed
...
This could be the result of a term name changing, parent changing etc.
Fixes #15315
May degrade performance if reading many variations.
2017-05-30 13:20:36 +01:00
Mike Jolley
f1d718d38a
Format parent stock qty on read
...
Fixes #14759
2017-05-29 10:03:35 +01:00
Mike Jolley
2e5053633b
CRUD should update post type on update so it matches expected value.
2017-05-25 12:09:59 +01:00
Mike Jolley
c16acc6b51
Merge remote-tracking branch 'origin/master'
...
# Conflicts:
# assets/css/wc-setup-rtl.css
# assets/css/wc-setup.css
2017-05-23 19:00:24 +01:00
Mike Jolley
d3666738d8
Merge branch 'pr/15069'
2017-05-23 18:56:58 +01:00
Mike Jolley
00e5189a05
Merge pull request #15070 from rasmusbe/phpdoc-missing-return-throws
...
Phpdoc: Add missing return and throws
2017-05-23 18:50:58 +01:00
Mike Jolley
2383799409
A single multi-word attribute is fine for variation titles
...
Closes #15225
2017-05-23 10:52:44 +01:00
Mike Jolley
fc8100877c
Undo change
2017-05-22 12:19:54 +01:00
Mike Jolley
2082d84e4d
Always sync incorrect titles on variation read regardless of version
...
For #15158
2017-05-19 11:28:13 +01:00
Mike Jolley
eb147197a2
Variations should inherit purchase_note from parent.
...
Fixes #15115
2017-05-18 14:47:00 +01:00