Commit Graph

2761 Commits

Author SHA1 Message Date
Frédéric Demarle f502e306e6 Add filter woocommerce_duplicate_product_exclude_children back 2017-02-14 16:39:49 +01:00
Mike Jolley d080e135ee Reduce `select *` usage 2017-02-13 12:58:42 +00:00
Mike Jolley 82d9abd4c5 Make sure enabled is checked by default
#13147
2017-02-10 17:43:32 +00:00
Mike Jolley 5349171083 This panel does not show in products anyway
Fixes #13133
2017-02-10 12:51:49 +00:00
Claudiu Lodromanean ab8fb48bb4 Fix and standardize e-mail sending 2017-02-09 14:49:39 -08:00
Mike Jolley 962b60c8fe kses/sanitize 2017-02-09 15:43:47 +00:00
Mike Jolley 1c10ad94cb Remove order item column due to performance issues on orders screen 2017-02-09 12:29:16 +00:00
Mike Jolley a7b2a0ac7c Merge pull request #13107 from woocommerce/fix-12962
Add locale independent wc_get_permalink_structure function
2017-02-08 23:33:56 +00:00
Mike Jolley 649f55b494 Load default country/state on edit
Closes #13061 Fixes #12899
2017-02-08 10:56:00 +00:00
Mike Jolley 3b06660edf Merge pull request #12917 from woocommerce/12170-rtl
#12170 Set up RTL generation and enqueuing
2017-02-08 10:29:55 +00:00
Mike Jolley fcae260b43 Missing placeholder 2017-02-07 17:07:11 +00:00
Mike Jolley 09f2c6b89a Add locale independent wc_get_permalink_structure function 2017-02-07 16:16:45 +00:00
Claudiu Lodromanean e45adc14ed Bring up-to-date with master 2017-02-06 10:10:41 -08:00
Mike Jolley 58118997a9 Merge pull request #13069 from jaydeeprami/Fix-Issue-13067
Fixed issue ref #13067
2017-02-06 12:36:53 +01:00
Jaydeep 91cd899989 Fixed issue ref #13067 2017-02-06 14:35:55 +05:30
Claudiu Lodromanean 9fadeacfdc Tweak shipping zones button styling to handle RTL better 2017-02-01 10:25:42 +01:00
Mike Jolley efcbdc3031 Tweaks for #12805
Closes #12805
2017-01-31 17:25:57 +01:00
Claudiu Lodromanean da22e021f9 Tweak admin tabs CSS to look good in LTR and RTL modes. 2017-01-31 10:09:56 +01:00
Jaydeep Rami 615ba59ebb Fixed issue #12986 2017-01-26 23:21:34 +05:30
Justin Shreve 474a307420 Introduce get_tax_class_slugs. 2017-01-25 13:38:13 -08:00
Justin Shreve e8237eab3d Merge pull request #12965 from woocommerce/update/duplicate-product
Update WC_Admin_Duplicate_Product to use CRUD.
2017-01-25 12:18:49 -08:00
Justin Shreve bcae0166fd Fix spacing error, return objects on our new hook, and force sku to be unique when duplicating. 2017-01-25 11:44:27 -08:00
Mike Jolley e9b0fba63c Merge pull request #12953 from pierrebuet/master
Updating the way select2 v4 loads translated strings
2017-01-25 00:22:47 +00:00
Justin Shreve 10d3e2d580 Update WC_Admin_Duplicate_Product to use CRUD. 2017-01-24 11:57:48 -08:00
pierrebuet 41a937041d Updating the way select2 v4 loads translated strings
Correcting Issue #12952.

In select2 v4 the callback functions used to format the messages have
changed their names and the structure of the options have changed,
using now a „language“ object.

I was not able to find a reference in the select2 v4 code how to format
the number of matches back. Further when using v4 I don’t see any
indication on the number of the number of returned matches, so I
consider the parameter as obsolete.
2017-01-23 22:04:52 +01:00
Claudio Sanches 3e60bd64de Send emails using site language, closes #12931 2017-01-23 18:40:36 -02:00
Mike Jolley cd05b94ec3 woocommerce_admin_process_product_object hook 2017-01-23 10:20:11 +00:00
Claudiu Lodromanean 754a12c88a 12170 Set up RTL generation and enqueuing 2017-01-20 10:29:48 -08:00
Hannah Swain c22b1d766a Update class-wc-admin-menus.php
Capitalize "s" in "Visit store" to match case on "Visit Site".
2017-01-19 14:47:29 +01:00
Mike Jolley 17481af671 Allow html in description 2017-01-17 15:50:19 +00:00
Mike Jolley cb04d5985a Fix add zone button and default title
Fixes #12829
2017-01-17 15:25:12 +00:00
Claudio Sanches c001b508d5 Merge branch 'master' into fix/stock-bulk 2017-01-16 20:41:33 -02:00
Justin Shreve 3e92ec9d59 Fix stock updating on bulk edit. 2017-01-16 10:57:14 -08:00
Justin Shreve cabff4fe28 Fix stock, virtual, and featured checks by passing correct data to quick-edit.js 2017-01-16 09:59:56 -08:00
Claudio Sanches 022d4fdac4 Coupon expiry date do not allow multiple date formats 2017-01-14 00:10:51 -02:00
Claudio Sanches 9c27661dea Synchronized with master 2017-01-12 17:53:15 -02:00
Mike Jolley 91c68d211f Merge pull request #12798 from woocommerce/orphan-variations-fix-12614
Orphan variations fix
2017-01-11 16:23:14 +00:00
Mike Jolley 748db4e675 Defer flush so CPT is updated before flush.
Fixes #12787
2017-01-11 16:12:00 +00:00
Mike Jolley ba8f308100 Merge branch 'master' into orphan-variations-fix-12614
# Conflicts:
#	includes/class-wc-post-data.php
2017-01-11 15:42:20 +00:00
Claudio Sanches fff98a9fbd Removed more legacy $woocommerce variable 2017-01-11 13:31:31 -02:00
Mike Jolley 61ce6a2d21 remove notice text 2017-01-11 11:48:11 +00:00
Chouby 1a1a152e2e Fix duplicate_post_taxonomies() when using non unique slugs
Since WP 4.3, it is possible to use non unique terms slugs in the same taxonomy. Currently duplicate_post_taxonomies() uses the term slug in wp_set_object_terms(), thus may set a wrong term. I propose to use term_id instead, which ensures that the correct term is set.
2017-01-11 09:32:12 +01:00
Claudio Sanches 7d090957c8 Merge pull request #12794 from shivapoudel/wc-pages
Tweak - Exclude profile pages from WC pages
2017-01-10 16:37:12 -02:00
Shiva Poudel 8171c73e9b Tweak - Exclude profile pages from WC pages using array_diff 2017-01-10 21:55:11 +05:45
Mike Jolley 00250e8eab Fix date query format 2017-01-10 15:50:05 +00:00
Manos Psychogyiopoulos bffdc27e8c fix variation attributes display in stock reports 2017-01-09 12:03:08 +02:00
Jon Surrell f1a90d6b05 Move level filters to dropdown
Drop table list "views" and use dropdown filter for sources and levels.
2017-01-08 19:32:53 +01:00
Jon Surrell a992084776 Sort by timestamp by default 2017-01-08 18:55:21 +01:00
Jon Surrell 0aab3282f4 Add more sanitizing
These values should be controlled, but additional sanitization is preferable.
2017-01-08 18:53:01 +01:00
Mike Jolley 66c3cff76d More escaping 2017-01-06 14:09:36 +00:00
Mike Jolley 76f8c3dddd Escaping for scruitinizer 2017-01-06 12:45:28 +00:00
Mike Jolley f7d72afcf9 Detect classname when saving attributes 2017-01-05 16:54:47 +00:00
Jon Surrell d38e22329f Replace count with empty check 2017-01-05 16:33:58 +01:00
Jon Surrell e6bcc1aeb6 Replace 'All' with 'All sources' in dropdown 2017-01-05 16:23:03 +01:00
Mike Jolley 17f78d9668 Fallback to full image
Closes #12759
2017-01-05 14:31:04 +00:00
Mike Jolley 5dba3d5bfe Sync variation names 2017-01-04 15:18:02 +00:00
Beka Rice b8c7d7e771 Fixes undefined index notices with empty select2 2017-01-03 09:16:58 -05:00
Claudio Sanches 6d45e531fd Merge pull request #12734 from corsonr/fix_wizard_tracking_name
Updated WooThemes to WooCommerce
2017-01-02 17:09:22 -02:00
corsonr 62c881b3c2 Updated WooThemes to WooCommerce 2017-01-02 17:56:19 +01:00
Jon Surrell 14e5bdcf91 Fix typos 2017-01-02 14:51:56 +01:00
Jon Surrell 4cfc6b4d04 Handle top and bottom bulk actions 2017-01-02 14:42:14 +01:00
Jon Surrell b4b5c5124a Refactor WC_Admin_Log_Table_List::prepare_items
Extract several methods to simplify structure and flow
2017-01-02 14:42:13 +01:00
akashsonic 202458a1f3 Dynamic add 2 attribute.
Add dynamic 2 attributes rows & cols in woocommerce_wp_textarea_input function. User can add dynamic this attributes in text-area field.
2017-01-02 18:01:52 +05:30
Jon Surrell 90ef632fa5 Colorize leveles in db log table 2016-12-29 12:03:59 +01:00
Jon Surrell 4cf86ef346 Use constants over settings to configure logger
Settings have been removed.
WC_LOG_THRESHOLD and WC_LOG_HANDLER constants have been added.
2016-12-29 11:58:43 +01:00
Jon Surrell e4681d268b Remove logging 2016-12-29 11:58:43 +01:00
Jon Surrell 269addd9f8 Rework db log table
Change tag from text search to select list.
Flatten and clean up query logic.
Add required methods for source <select>.
2016-12-29 11:58:43 +01:00
Jon Surrell 588b1c2267 Format date in log viewer table 2016-12-29 11:58:43 +01:00
Jon Surrell e4d5886427 Replace log `tag` with log `source` 2016-12-29 11:58:43 +01:00
Jon Surrell 5700043e6d Deprecate wc_get_log_file_path
wc_get_log_file_path moves into `WC_Log_Handler_File` class as a static
method.
Update deprecations and version info.
2016-12-29 11:58:43 +01:00
Jon Surrell de076a313e Fix settings log texts
Add 'woocommerce' to __ translated texts.
Improve texts.
2016-12-29 11:58:43 +01:00
Jon Surrell 970a33e182 Cleanup log list table view
Format log timestamp.
Add is_valid_level check to $_REQUEST level filter.
General cleanup: formatting, layout, commentary.
2016-12-29 11:58:43 +01:00
Jon Surrell aee5917440 Change wc_safe_dump to wc_print_r
Match print_r arguments, this makes usage obvious.
2016-12-29 11:58:43 +01:00
Jon Surrell 5f24eca7e2 Add delete to db log viewer table
Clean up some nonce logic.
Use a single <form> containing log table.
2016-12-29 11:58:43 +01:00
Jon Surrell 81eaa5ae17 Make lot threshold strings translatable 2016-12-29 11:58:43 +01:00
Jon Surrell 080cf8e436 Store log levels as integer representations in database
This will allow indexed ordering by severity.
Add WC_Log_Levels::get_severity_level method to translate severity
integers to level strings. The inverse of WC_Log_Levels::get_level_severity.
Add context to tests.
2016-12-29 11:58:43 +01:00
Jon Surrell be38e8f2fe Add log threshold setting to settings page 2016-12-29 11:58:43 +01:00
Jon Surrell 0f13cca921 Use autoloader for log handlers 2016-12-29 11:58:43 +01:00
Jon Surrell e2f76bcd54 Fix logs-db redirects 2016-12-29 11:58:42 +01:00
Jon Surrell c633db9d65 Add woocommerce_default_log_handler setting
Adds configuration to settings page
Show status-logs page based on settings (unify logs & database logs)
Register default log handler by default
2016-12-29 11:58:42 +01:00
Jon Surrell 44ec07902d Add confirmation to db log flush 2016-12-29 11:58:42 +01:00
Jon Surrell c945d727d5 Add log flushing to db log viewer 2016-12-29 11:58:42 +01:00
Jon Surrell e42d2e61fd Update print_r to use wc_safe_dump 2016-12-29 11:58:42 +01:00
Jon Surrell 7a3c6bcc0c Fix phpcs issues 2016-12-29 11:58:42 +01:00
Jon Surrell d6a6b8771d Add level views to db log table 2016-12-29 11:58:42 +01:00
Jon Surrell 30fdca65a9 Log viewer via html template 2016-12-29 11:58:42 +01:00
Jon Surrell bc3f788507 Implements database log viewer 2016-12-29 11:58:42 +01:00
Jon Surrell 9adb64b6b9 Restore log deletion from admin log viewer page
WC_Logger no longer controls logging and has no knowledge of files.
Correctly handle `remove_log` action via file log handler.
2016-12-29 11:58:42 +01:00
Mike Jolley daea231ab7 Merge pull request #12666 from woocommerce/select2-4
Upgrade Select2 to V4
2016-12-24 14:40:09 +00:00
Mike Jolley f3dc355632 Check post data is set
Closes #12670
2016-12-22 14:41:39 +00:00
Mike Jolley 92968492a0 Customer search 2016-12-21 14:18:33 +00:00
Mike Jolley 96877dbb25 Fix product search inputs 2016-12-21 13:23:26 +00:00
Mike Jolley badf8d7d55 Add select2 script and CSS 2016-12-20 16:45:22 +00:00
Mike Jolley 2ebd83aa2d Merge pull request #12653 from shivapoudel/blank-state-trash-btn
Hide "Empty Trash" button in blank state after removing all data
2016-12-20 11:09:52 +00:00
Mike Jolley bc24a2e854 BW compat for variable naming
@webaware
2016-12-20 11:07:31 +00:00
Shiva Poudel d20cdd2830 Hide "Empty Trash" button in blank slate after removing all data 2016-12-20 12:15:17 +05:45
Mike Jolley 2e77e38d33 colour -> color
#12627
2016-12-19 11:41:48 +00:00
Mike Jolley a9a21bf9e0 Fix sale date series
Fixes #12609
2016-12-16 12:35:33 +00:00
Claudio Sanches 485c89ee99 Fixed wrong textdomain 2016-12-15 14:44:43 -02:00
Mike Jolley d52a126eb2 Remove bulk_action callback 2016-12-15 15:55:40 +00:00
Mike Jolley 61605e893b Remove legacy code and add correct callback
#12476
2016-12-15 15:51:54 +00:00
Mike Jolley cf0943fda9 Fix term sorting
Closes #12602
2016-12-15 14:09:01 +00:00
Mike Jolley 66be50ba72 More explicit bulk price labels 2016-12-14 12:06:46 +00:00
Mike Jolley 7806ac4edf Missing data store
Fixes #12588
2016-12-14 11:26:21 +00:00
Mike Jolley f29288b542 Fix default attribute saving 2016-12-13 20:03:00 +00:00
Mike Jolley d441e34ef5 Support template option
Closes #12544
2016-12-13 14:02:52 +00:00
Mike Jolley 0e72b87ca1 Allow comment editing.
Closes #12563
2016-12-12 13:00:08 +00:00
Mike Jolley 12608af03a Sorting handling 2016-12-08 14:28:51 +00:00
Mike Jolley 47fbae4d26 Product Visibility Taxonomies (#12527)
* Convert visibility and featured to taxonomy

* Comment

* Add missing tax_queries

* Only check SKU after read.

* Added visibility term for outofstock products to speed those queries up al

* wc_bool_to_string
2016-12-08 10:56:45 +00:00
Justin Shreve a315e174b7 Fix tax name typo and wrap with _escape. 2016-12-07 11:03:28 -08:00
Mike Jolley d9420e01d2 Fix themes_api fatal error 2016-12-07 11:37:00 +00:00
Justin Shreve b5e9fc08fe Set featured status and catalog visibility when saving products. 2016-11-30 10:20:18 -08:00
agrillo 328401271f Fixed: if woocommerce_resend_order_emails_available hook return an empty array the optgroup label "Resend order emails" It is also printed 2016-11-30 11:32:38 +01:00
Mike Jolley 086d8bce1d Fix is_callable 2016-11-25 14:48:20 +00:00
Matty ff1442e9aa Allow cross sells to be sold as variations 2016-11-25 13:17:09 +00:00
Mike Jolley f67ffe4d89 Merge pull request #12465 from woocommerce/crud-ajax-class
AJAX Class and other fixes
2016-11-25 10:44:20 +00:00
Claudio Sanches 1ed2f9d136 Fixed undefined index while saving coupons on admin screen 2016-11-24 15:43:01 -02:00
Mike Jolley 9087a45f29 Remove attribute_ prefix rather than add so that get_attributes has better return values, and don't show duplicate data in cart. 2016-11-24 14:20:48 +00:00
Mike Jolley badd63bdd9 Merge pull request #12448 from woocommerce/webhook-api-versions
Allow send webhook payload using legacy API v3 or WP REST API integration
2016-11-24 10:22:01 +00:00
Mike Jolley b2b42600cd Merge pull request #12454 from woocommerce/deprecation-wrappers-12328
Deprecation wrappers
2016-11-23 17:42:45 +00:00
Claudio Sanches bf598d538f Merge pull request #12453 from woocommerce/reports-12425
Reports 12425
2016-11-23 15:04:44 -02:00
Mike Jolley d7dfdd3d10 Wrap all deprecation calls. 2016-11-23 16:15:00 +00:00
Mike Jolley c8d1acb33e Prevent tags breaking page layout 2016-11-23 15:49:35 +00:00
Mike Jolley f2ea71ea6f Reports fixes 2016-11-23 15:36:52 +00:00
Claudio Sanches 92ad1b43b2 Updated webhook admin options 2016-11-22 23:08:22 -02:00
Claudio Sanches 5d1c074998 Fixed headers response data 2016-11-22 22:48:31 -02:00
Claudio Sanches a98c4b429f Fixed broke webhooks pagination label 2016-11-22 22:48:00 -02:00
Claudio Sanches 4d85905c0b Allow set webhook api version on admin 2016-11-22 21:58:36 -02:00
Justin Shreve 90e93e1eba Set a blank default name when displaying the shipping zone form, so the placeholder will be used instead. 2016-11-22 10:52:58 -08:00
Mike Jolley bc1103b438 Missing key in download variation 2016-11-22 15:43:21 +00:00
Mike Jolley b73bbabab6 Fix missing key variable 2016-11-22 15:41:37 +00:00
Mike Jolley 32de28355a Merge branch 'master' into order-data-store
# Conflicts:
#	includes/admin/meta-boxes/class-wc-meta-box-order-data.php
2016-11-21 14:45:46 +00:00
Mike Jolley b81bde4f5a admin updates 2016-11-18 19:56:17 +00:00
Claudio Sanches 0806897fa8 Keep backwards compatibility while saving and displaying order custom addresses metadata on admin 2016-11-18 17:40:32 -02:00
Mike Jolley b1565cf0d6 Download update routine and interface 2016-11-18 19:29:37 +00:00
Mike Jolley 1b6d7acd24 Data store for downloads 2016-11-18 17:13:02 +00:00
Claudio Sanches 6d66391a68 Merge pull request #12388 from woocommerce/terms-performance
Optimize terms queries
2016-11-18 13:01:38 -02:00
Claudio Sanches 2a4aa26a31 Removed extra &hellip; 2016-11-18 12:19:44 -02:00
Claudio Sanches a27ac728f3 Fixed undefined post 2016-11-18 12:17:29 -02:00
Claudio Sanches 7bf6fa0f11 Merge pull request #12391 from woocommerce/support-wp47-bulk-actions
Use new WP 4.7 bulk actions filters
2016-11-18 09:14:24 -02:00
Claudio Sanches c0809d0b72 Fixed a typo and missing comma 2016-11-18 09:13:37 -02:00
Claudio Sanches 375b6e9789 Remove legacy dependency code 2016-11-17 19:06:46 -02:00
Claudio Sanches 92c7cafff8 Use new WP 4.7 bulk actions filters, closes #12379 2016-11-17 18:57:48 -02:00
Claudio Sanches f5a228509a Fixed coding standards 2016-11-17 18:07:58 -02:00
Claudio Sanches e1aeba9f21 Remove all wp_get_post_terms() and wp_get_object_terms() terms occurrences 2016-11-17 17:02:05 -02:00
James Koster 1039babe2c manual order creation - make address load/copy icons text links to improve usability. closes #12356 2016-11-17 12:38:15 +00:00
Justin Shreve 20fca44334 Handle product quick and bulk edit. 2016-11-16 12:54:53 -08:00
Justin Shreve a6155c2d7c Add zone_id to get_zones output for ajax. 2016-11-16 04:54:42 -08:00
Justin Shreve 735c1b7a14 Finish moving queries to the shipping zone data store, update usage of deprecated get_zone_id, legacy updates. 2016-11-16 04:53:23 -08:00
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