WordPress.org

Plugin Directory

Test out the new Plugin Directory and let us know what you think.

WooCommerce

WooCommerce is a powerful, extendable eCommerce plugin that helps you sell anything. Beautifully.

2.6.14 - 2017-02-02

  • Fix - Ensure product exists in wc_update_product_stock.
  • Fix - Send emails using the site language.
  • Fix - Remove tilde typo.
  • Fix - Fixed notice in get_rating_count.
  • Tweak - Define arg and return data types, added extra descriptions, and correctly cast IDs in the Rest API.
  • Tweak - Handle custom error data in WC_REST_Exception.
  • Tweak - Display conflicted product ID when using a duplicate SKU via the API.
  • Localisation - Add Finnish defaults to the installer.

2.6.13 - 2017-01-18

  • Fix - Demo store banner styling in 2017.
  • Fix - Removed default instructions from COD, BACS and Cheque gateways so displayed messages can be unset.
  • Fix - Made variation options update on first load.
  • Localisation - Added Romanian locale to the installer.

2.6.12 - 2017-01-12

  • Fix - Make images shown up on pageload when using ajax variations.
  • Fix - Allow variations options to be deselected in IE11.
  • Fix - Disabled-button and pagination styling in 2017.
  • Fix - PHP 7.1 compatibility issues with non-numeric math operations.
  • Fix - Fix notices in abstract class when price is empty.

2.6.11 - 2016-12-22

  • Fix - Variation form compatibility with quotes in attribute values, and initial variation image fadeIn on certain configs.

2.6.10 - 2016-12-22

  • Fix - Flat rate no class costs when no shipping classes exist.
  • Fix - Returned REST API coupon expiry date.
  • Fix - reviews_allowed being set to false in Rest API.
  • Fix - Sales date series for some custom ranges.
  • Fix - Missing attributes when an option is chosen by default on variations. This was the result of a Firefox 50 compatibility fix. In order to support both Firefox, Chrome, IE, and Edge we've done some refactoring of the variation add to cart scripts.
  • Tweak - Updated Geo IP API services.
  • Dev - Added support for WP VIP/VIP GO GEO IP headers.
  • Dev - API - Throw error messages when product image ID is not a valid WordPress attachment ID.

2.6.9 - 2016-12-07

  • Theme - Added support for Twenty Seventeen Theme.
  • Fix - Excluded webhook delivery logs from comments count.
  • Fix - Included password strength meter in "Lost Password" page.
  • Fix - Order fee currency in admin screen.
  • Fix - Variation selection on Firefox 40.
  • Fix - Don't prevent submission when table is not found on cart.
  • Fix - Improved layered nav counts on attribute archives.
  • Fix - Fixed pagination when removing layered nav items via widget.
  • Fix - Default BE tax rate.
  • Fix - Downloads should store variation ID rather than product if set. Also fixes link on account page.
  • Fix - Use wp_list_sort instead of _usort_terms_by_ID to be compatible with 4.7.
  • Fix - Only return empty string if empty for weight and dimension functions.
  • Fix - Added correct fallbacks for logout/lost password URLs when endpoints are not defined.
  • Security - Wrapped admin tax rate table values in _escape to thwart evil CSVs an admin user could upload. Vulnerability was discovered by Fortinet’s FortiGuard Labs.
  • Dev - API - Only update categories menu order and display if defined.
  • Dev - Fixed when should deliver wp_trash_post webhooks.

2.6.8 - 2016-11-10

  • Fix - REQUEST_URI was missing a trailing slash when being compared in the cache prevention functions.
  • Fix - Prevent issues when sending empty prices to PayPal.
  • Fix - Invalid email check.
  • Tweak - New extensions screen.

2.6.7 - 2016-10-26

  • Fix - Use FLOOR and CEIL to get price filter values. Fixes the issue where max price is capped at 99.
  • Fix - Hide "Sales this month" information from Dashboard widget for users that don't have view_woocommerce_reports capability.
  • Fix - Remove notices only once on cart so subsequent notices do not remove older notices.
  • Tweak - Improve credit card fields for better mobile experience.

2.6.6 - 2016-10-20

  • Fix - Conflict with Local Pickup Plus extension due to 2.7.x code in has_shipping_method().
  • Fix - Shipping method display order on frontend.

2.6.5 - 2016-10-19

  • Fix - Shipping classes URL in admin.
  • Fix - Notice in reports when using custom date ranges.
  • Fix - When checking needs_shipping, ignore anything after : in the method ID.
  • Fix - Allow has_shipping_method to work with instances.
  • Fix - Potential notice in wc_add_to_cart_message().
  • Fix - Prevent notice in wpdb_table_fix if termmeta table is not used.
  • Fix - Payment method box fixes e.g. maintain previously selected payment method after update.
  • Fix - Prevent multiple password validation methods at once on my account page.
  • Fix - Ship to specific counties option had no effect.
  • Fix - Broken Webhook delivery due to use of post_date_gmt which does not exist for drafts.
  • Fix - Use method title in admin shipping dropdown.
  • Fix - Fixed downloadable variable product URL.
  • Fix - Handle object when generate_cart_id is used to prevent notices.
  • Fix - Set header link color in emails.
  • Fix - Rest of the world ID 0 zone handling when using CRUD classes.
  • Fix - Cast prices as decimal when querying prices in price filter widget.
  • Fix - API - Fix coupon description field.
  • Fix - API - ID needs to be capitalized to allow correct sorting.
  • Fix - API - Fixed undefined order ID.
  • Fix - API - Allow API to save refund reason.
  • Fix - API - Resolved encoding issues with attribute and variation slugs.
  • Fix - API - get_attributes should return term name, not slug.
  • Fix - API - Product "filter" and "sku" paramaters.
  • Fix - Handle info notices in cart, not just error messages.
  • Fix - Don't remove hyphens in attribute labels.
  • Fix - Start sales on variations after they are saved, if applicable.
  • Fix - Made the text showing max variations you can link match the actual filtered value.
  • Fix - Add missing tables to wpmu_drop_tables function.
  • Fix - When syncing variation stock, ensure post is a variation.
  • Fix - Resolved some sales by date sum issues.
  • Fix - Fix cart update in IE when enter key is pressed.
  • Fix - Variation is_on_backorder when parent manages stock.
  • Fix - Fix variation script malfunctioning when show_option_none arg is set to false.
  • Fix - Fire tokenisation event on load for pay page.
  • Fix - Populate attribute dropdown when empty.
  • Fix - Fix email check on my account page.
  • Fix - Send processing email on on-hold to processing transition.
  • Fix - Incompatibility with SQLite databases.
  • Fix - KGS and ISK currency symbols.
  • Tweak - Password reset now uses WP functions.
  • Tweak - Format US 9-digit postcodes.

2.6.4 - 2016-07-26

  • Fix - Security - Only allow image MIME type upload via REST APIs.
  • Fix - Shipping method title display in COD settings.
  • Fix - Order date input in Edge browser.
  • Fix - Ensure value is not null in variations to support empty show_option_none setting.
  • Fix - get_the_title does not need escape in grouped template file.
  • Fix - Ensure WC_ROUNDING_PRECISION is defined and use it as a low precision boundary in wc_get_rounding_precision().
  • Fix - Response body should be a string in webhook class.
  • Fix - Use h2 instead of h3 headings in profile screen.
  • Dev - API - Allow Allow meta_key/value filters for products.
  • Dev - CLI - Explode tags and category IDs to allow multiple comma separated values.
  • Dev - add $order arg to woocommerce_admin_order_item_class and woocommerce_admin_html_order_item_class filters.

2.6.3 - 2016-07-19

  • Fix - Security - Escape captions in product-thumbnail and product-image templates (template versions have been bumped).
  • Fix - Fixed how we calculate shipping tax rates when using more than one tax class.
  • Fix - When duplicating product variations, set title, name, and guid.
  • Fix - Normalized 'read more' buttons.
  • Fix - Add to cart notices for grouped products.
  • Fix - Do not sanitize passwords in the settings API.
  • Fix - Handle shipping zone location range conversion during update (dashes to ...).
  • Fix - Always remove commas while processing flat rate costs.
  • Fix - Ensures account page layout is only applied to desktop-sized displays.
  • Fix - When getting layered nav counts, take search parameters into consideration.
  • Fix - Free shipping show/hide javascript.
  • Fix - Strip hash characters when exporting reports.
  • Fix - Use permission id to revoke access to downloads to prevent removing wrong rows.
  • Fix - When duplicating product variations, set title, name, and guid.
  • Fix - Set more appropriate default rounding precision based on currency decimal places.
  • Fix - Fix message styles for empty carts.
  • Fix - Fixed the load of the WC_Email_Customer_On_Hold_Order class.
  • Fix - Don't perform cart update on search submit.
  • Dev - API - Added support for WP REST API with custom URL prefixes.
  • Dev - API - Delete variations when deleting a variable product.
  • Dev - API - Fixed how we check for product types.
  • Dev - Added woocommerce_cart_id filter.
  • Dev - Add shortcode name param to shortcode_atts function calls.
  • Dev - Post custom data when fetching a variation via ajax.
  • Dev - Include child prices in grouped_price_html filter.
  • Dev - Allow filtering of variation stock quantity.
  • Dev - Added $_product argument to 'woocommerce_restock_refunded_item' hook.
  • Dev - Added a filter hook for the wc_ajax endpoint url.
  • Tweak - Include account page link in new customer account emails.
  • Tweak - Updated all URLs from WooThemes.com to WooCommerce.com.
  • Tweak - Cache the result of WC_Comments::wp_count_comments() in a transient (improves performance).

2.6.2 - 2016-06-30

  • Fix - Set max index length on woocommerce_payment_tokenmeta table for utf8mb4 support.
  • Fix - is_available check for legacy shipping methods.
  • Fix - wc_add_to_cart_message() when non-array is passed.
  • Fix - Maximum coupon check should allow the 'maximum' value.
  • Fix - Product coupon logic to avoid applying non-applicable coupons.
  • Fix - Potential notices when leaving out 'default' field for shipping instances.
  • Fix - wp_cache_flush after term meta migration/update.
  • Fix - wc_add_to_cart_message() when non-array is passed.
  • Fix - woocommerce_redirect_single_search_result type check was incorrect.
  • Fix - Javascript show/hide of option in free shipping method.
  • Fix - Convert ellipsis to three periods when saving postcodes.
  • Fix - Prevent get_terms returning duplicates.
  • Fix - Removed non-existent country (Netherlands Antilles) from https://en.wikipedia.org/wiki/ISO_3166-1.
  • Fix - Grouped product range display when child is free.
  • Fix - Remove discount when checking free shipping min amount.
  • Fix - Prevent blocking the same element multiple times on cart page.
  • Fix - Don't sync ratings right after a new comment to prevent rating sync whilst rating meta does not exist yet.
  • Fix - Fix product RSS feeds when using shop base.
  • Fix - woocommerce_local_pickup_methods comparison by stripping instance IDs before the check.
  • Fix - During password resets, use cookie to store reset key and user login to avoid them being exposed in the URL/referer headers.
  • Dev - API - Fixed variable product stock at product level.
  • Dev - CLI - Introduces woocommerce_cli_get_product_variable_types filter.
  • Dev - Allow notices to be grouped on checkout after certain events.
  • Dev - API - Allows save images by ID with product variations.
  • Tweak - Made customer pay link display if order needs_payment() rather than checking pending status.
  • Tweak - Zones - Wording clarifications.
  • Tweak - Zones - Match zones with postcodes but no country.
  • Tweak - Zones - Match zones with no regions as 'everywhere'.
  • Tweak - Added view_admin_dashboard cap for disabling the admin access restriction in custom roles.
  • Tweak - Revised stock display based on feedback to hide 'in stock' message if stock management is off and only show available on backorder if notifying customer.
  • Tweak - Allow external product SKUs.
  • Tweak - PT (Portugal) and JP (Japan) postcode formats.
  • Tweak - Sort products from the [product_category] shortcode by menu order.
  • Tweak - Improve wc_orders_count() performance by running a query to count only posts of the given status.
  • Tweak - To allow my account page tabs to be disabled without code, you can now set the endpoint value to a blank string.

2.6.1 - 2016-06-16

  • Fix - Added missing localized format for line taxes in orders screen to prevent total miscalculation in manual orders.
  • Fix - Improved the hour and time fields validation pattern on the orders screen.
  • Fix - PayPal does not allow free products, but paid shipping. Workaround by sending shipping as a line item if it is the only cost.
  • Fix - SKUs prop on products shortcode.
  • Fix - Layered nav counts when term_id does not match term_taxonomy_id (before splitting).
  • Fix - Fixed referer links from cart messages in WP 4.4.
  • Fix - Fix the showing/hiding of panels when terms do not exist by using wc_get_product_types() for retrieving product types.
  • Dev - content-product.php and content-product_cat.php contained the wrong version.
  • Dev - Show "matching zone" notice on the frontend when shipping debug mode is on.
  • Dev - Restored missing WC_Settings_API::init_form_fields() method to prevent potential errors in 3rd party gateways.
  • Dev - API - Fixed returned data from product images (changed title to name).
  • Dev - API - Fixed products schema for grouped_products.
  • Dev - API - Fixed products attribute options when contains ,.
  • Tweak - Hide 'payment methods' screen if no methods support it.
  • Tweak - If shipping method count changes, reset to default.
  • Tweak - Avoid normalization of zone postcodes so wildcard matching can be performed on postcodes with spaces. E.g. SP1 *
  • Tweak - Allow max_fee in addition to min_fee in flat rate costs fields.
  • Tweak - Wrap order_schema_markup() output in hidden div in case script tag is stripped.

2.6.0 - 2016-06-14

  • Feature - Introduced Shipping Zone functionality, and re-usable instance based shipping methods.
  • Feature - Tabbed "My Account" area.
  • Feature - Cart operations now use ajax (item quantities/remove, coupon apply/remove, shipping options).
  • Feature - Layered nav; filter by rating.
  • Feature - On-hold order emails.
  • Dev - All new REST API based on the WP REST API. The old WC REST API is still available, but the new one is preferred.
  • Dev - Added ability for shipping methods to store meta data to the order.
  • Dev - Added Payment Gateway Tokenization API for storing and retrieving tokens in a standardized manner.
  • Dev - Migrated custom term meta implementation to WP Term Meta.
  • Dev - Added new wc_get_orders() function to get order objects and ids instead of direct get_posts() calls.
  • Dev - Made coupon optional in cart has_discount() method.
  • Dev - Made the review template more editable.
  • Dev - Allowed product constructors to throw exceptions if invalid.
  • Dev - Wrapped currency symbols in a span to allow styling or replacement.
  • Fix - Update download permission user and email when changed.
  • Fix - Fixed shipping method unregistration.
  • Fix - Stopped create and update webhooks firing at the same time for products.
  • Fix - Allow COD to set on-hold status if the order contains downloads.
  • Fix - Force CURL to use TLS 1.2 for PayPal connections.
  • Tweak - Improved lost password flow.
  • Tweak - Show payment dates on order screen.
  • Tweak - Ignore catalog visibility on products shortcode when specifying IDs or SKUs.
  • Tweak - Added context to checkout error messages.
  • Tweak - Added SKU field to grouped products.
  • Tweak - Moved SKU field to inventory tab.
  • Tweak - Support qty display in cart messages.
  • Tweak - Hide min order amount field when not needed in shipping settings.
  • Tweak - If shipping < 999.99, use 'shipping' arg when passing values to PayPal.
  • Tweak - Show net sales on dashboard.
  • Tweak - Replaced credit card icons with SVG.
  • Tweak - Enqueue scripts on pages with checkout shortcodes.
  • Tweak - Color code the manual, system and customer notes.
  • Tweak - Layered Nav Refactoring to improve performance.
  • Tweak - Removed tag/cat classes from loops since WP does the same.
  • Tweak - Added hash check for orders so that if the cart changes before payment, a new order is made.
  • Tweak - Removed unused 'view mode' under screen options.
  • Tweak - Added 110 new currencies (including Bitcoin).
  • Tweak - New background updater for data upgrades.
  • Tweak - Blank slates in admin post screens.
  • Tweak - Added blockui when variations are being retrieved via ajax.
  • Tweak - Hide empty taxes by default (filterable).
  • Tweak - Allow failed orders to be edited.
  • Tweak - If there are no shipping methods setup, don’t prompt for shipping at checkout.
  • Tweak - Allowed country exclusion, rather than just inclusion, in ‘sell to’ setting.
  • Lots, lots more - see the comparison here.

See changelog for all versions.

Requires: 4.4 or higher
Compatible up to: 4.7.2
Last Updated: 4 weeks ago
Active Installs: 2+ million

Ratings

4.6 out of 5 stars
5 stars 1,812

Support

163 of 1,526 support threads in the last two months have been marked resolved.

Got something to say? Need help?

Compatibility

+
=
Works!

8 people say it works.
1 person says it's broken.

0,1,0
100,1,1 0,1,0
0,1,0
67,3,2 0,1,0
40,5,2 0,1,0 100,1,1
60,40,24 100,11,11 100,6,6 88,8,7 100,6,6 67,6,4 83,6,5 80,5,4 86,7,6 100,6,6 100,3,3 100,5,5 86,7,6 90,10,9 100,3,3 100,3,3 100,5,5
100,1,1 100,7,7 78,9,7 100,1,1 100,1,1 100,1,1
100,1,1 77,13,10 83,6,5 63,8,5 100,8,8 80,10,8 88,8,7 100,7,7 80,5,4 100,2,2 82,11,9 87,15,13 82,11,9 100,2,2 100,2,2
60,10,6 75,4,3 78,9,7 100,1,1 100,1,1
100,1,1 100,1,1 67,3,2 80,5,4 0,1,0
100,1,1 40,10,4 100,6,6 53,17,9 100,4,4 57,14,8 100,5,5 75,4,3 53,17,9 50,2,1 100,1,1 0,1,0
0,1,0 100,1,1 50,2,1 79,53,42 50,6,3 100,1,1 0,1,0 100,1,1 100,1,1 50,2,1 100,1,1
25,4,1 69,16,11 100,1,1 100,1,1
100,1,1 72,25,18 83,6,5 53,19,10 94,17,16 45,11,5 67,9,6 100,1,1 43,14,6 60,15,9 57,28,16 83,18,15 100,6,6 82,11,9 71,14,10 91,11,10 100,1,1
100,1,1 55,11,6 67,15,10 67,3,2 0,1,0 0,1,0 100,1,1 0,1,0
100,2,2 46,26,12 86,7,6 50,2,1
0,1,0 100,1,1 0,1,0 100,1,1 100,1,1 65,23,15 33,9,3 86,7,6 57,7,4 67,3,2 100,1,1 100,1,1 100,1,1 0,1,0 0,1,0 0,1,0 0,1,0 0,1,0 0,1,0 0,1,0
100,3,3
57,7,4 79,14,11 56,18,10 100,1,1 100,1,1
53,34,18 50,2,1 100,2,2 100,1,1 100,1,1
63,19,12 18,34,6 53,15,8 25,28,7 53,19,10 60,5,3 52,21,11 62,21,13 80,5,4
100,4,4
67,3,2 100,1,1 0,1,0
100,1,1 100,2,2 100,1,1 67,9,6 56,9,5 100,2,2 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
87,15,13 97,29,28 78,27,21 100,1,1 43,7,3 72,25,18 100,1,1 100,1,1 50,2,1
60,10,6 100,3,3 100,2,2 100,2,2
100,1,1 85,13,11 100,6,6 100,6,6 0,1,0 41,22,9 58,12,7 59,17,10 92,13,12 88,16,14 100,8,8 100,23,23 100,2,2 0,1,0
0,1,0 100,1,1 83,6,5 100,1,1 63,8,5 89,9,8 100,1,1 0,1,0
100,1,1
0,2,0 100,1,1 94,16,15 60,5,3 100,1,1 67,3,2 75,4,3 0,1,0 67,6,4 64,11,7 100,3,3 100,3,3 100,2,2 50,4,2
0,2,0 0,1,0 100,1,1 67,3,2 88,24,21 50,10,5 65,17,11 100,3,3
100,2,2
100,1,1
50,4,2
0,1,0 0,1,0 100,1,1 100,1,1 83,6,5 100,3,3
100,1,1 0,1,0 100,1,1 100,1,1 86,7,6 86,14,12 100,2,2 70,10,7 100,1,1 50,8,4 100,12,12 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
100,1,1 82,11,9
67,3,2 100,2,2 40,5,2 100,3,3 100,1,1 67,6,4 67,3,2
0,1,0
0,1,0
100,1,1 0,1,0 0,1,0 0,1,0 0,1,0 50,2,1 33,9,3 26,31,8 100,2,2
0,1,0 100,1,1 100,1,1 50,2,1 94,18,17 100,4,4 100,2,2 74,19,14 86,14,12 60,5,3
100,1,1 0,1,0 100,1,1 47,19,9 100,1,1 100,1,1
100,1,1 67,3,2 100,2,2 100,1,1 86,14,12 100,8,8 100,9,9 100,1,1
100,1,1 0,1,0 87,15,13 89,9,8 100,3,3 79,28,22
80,10,8 100,1,1
67,6,4
100,1,1 83,23,19 71,17,12 73,15,11
0,1,0 100,1,1 50,4,2 100,3,3 88,8,7 89,9,8 63,8,5
0,1,0 83,6,5 100,1,1 100,1,1 100,2,2
100,1,1 100,1,1 100,1,1 83,18,15 50,2,1 22,9,2 100,3,3 60,15,9
33,3,1 60,10,6 100,2,2 100,1,1 100,1,1 100,1,1 100,1,1 83,6,5
100,1,1 100,2,2 17,6,1 100,1,1
100,1,1 100,1,1 89,9,8