=== WooCommerce - excelling eCommerce ===
Contributors: automattic, mikejolley, jameskoster, claudiosanches, royho, woothemes
Tags: ecommerce, e-commerce, commerce, woothemes, wordpress ecommerce, affiliate, store, sales, sell, shop, shopping, cart, checkout, configurable, variable, widgets, reports, download, downloadable, digital, inventory, stock, reports, shipping, tax
Requires at least: 4.1
Tested up to: 4.4
Stable tag: 2.4.12
License: GPLv3
License URI: http://www.gnu.org/licenses/gpl-3.0.html

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

== Description ==

WooCommerce is a free eCommerce plugin that allows you to sell anything, beautifully. Built to integrate seamlessly with WordPress, WooCommerce is the world’s favorite eCommerce solution that gives both store owners and developers complete control.

With endless flexibility and access to hundreds of free and premium WordPress extensions, WooCommerce now powers 30% of all online stores -- more than any other platform.

[youtube https://www.youtube.com/watch?v=1KahlicghaE]

= Sell anything, anywhere =
With WooCommerce, you can sell both physical and digital goods in all shapes and sizes, offer product variations, multiple configurations, and instant downloads to shoppers, and even sell affiliate goods from online marketplaces.

With premium extensions, you can offer bookings, memberships, and recurring subscriptions. Perhaps you’d like to sell monthly subscriptions for physical goods, or offer your members a discount on digital downloads? It’s all possible.

= Ship wherever you like =
Offer free shipping, flat rate shipping, or make real-time calculations. Limit your shipments to specific countries, or open your store up to the world. Shipping is highly configurable, and WooCommerce even supports drop shipping.

= Extensive payment options =
WooCommerce comes bundled with the ability to accept major credit cards, PayPal, BACS (bank transfers), and cash on delivery. Need additional options? More than 140 region-specific gateways integrate with WooCommerce, including popular choices like Stripe, Authorize.Net, and Amazon Payments.

= You control it all -- forever =
WooCommerce gives you complete control of your store, from taxes to stock levels to customer accounts. Add and remove extensions, change your design, and switch settings as you please. It’s all under your control.

One of the biggest risks of using a hosted eCommerce platform is what happens to your store if the provider closes up shop. With WooCommerce, you have complete control, so there’s never any reason to worry. Your data belongs to you -- and it’s kept secure, thanks to regular audits by industry leaders.

= Define your style with Storefront =

[Storefront](https://wordpress.org/themes/storefront/) is a free WordPress theme available to any WooCommerce store. Along with deep WooCommerce integration, Storefront prioritizes speed and uptime while eliminating theme and plugin conflicts during major updates.

Define your style even further by customizing Storefront to your liking or choosing from one of our several [Storefront child themes](http://www.woothemes.com/product-category/themes/storefront-child-theme-themes/). It’s all up to you, and all open source.

= Built with developers in mind =

Extendable, adaptable, and open source -- WooCommerce was created with developers in mind. With its strong, robust framework, you can scale your client’s store all the way from basic to high-end (infinity and beyond).

Built with a REST API, WooCommerce can integrate with virtually any service. Your store’s data can be accessed anywhere, anytime, 100% securely. WooCommerce allows developers to easily create, modify, and grow a store that meets their specifications.

No matter the size of the store you want to build, WooCommerce will scale to meet your requirements. With a growing collection of more than 300 extensions, you can enhance each store’s features to meet your client’s unique needs -- or even create your own solution.

If security is a concern, rest easy. WooCommerce is audited by a dedicated team of developers working around the clock to identify and patch any and all discovered bugs.

We also support WooCommerce and all its extensions with comprehensive, easily-accessible documentation. With our docs, you’ll learn how to create the exact site your client needs.

= Extensions galore =

WordPress.org is home to some amazing extensions for WooCommerce, including:

[Google Analytics](https://wordpress.org/plugins/woocommerce-google-analytics-integration/)
[Delivery Notes](https://wordpress.org/plugins/woocommerce-delivery-notes/)
[PDF Invoices and Packing Slips](https://wordpress.org/plugins/woocommerce-pdf-invoices-packing-slips/)
[Affiliates Integration Light](https://wordpress.org/plugins/affiliates-woocommerce-light/)
[New Product Badges](https://wordpress.org/plugins/woocommerce-new-product-badge/)

Keen to see them all? Search WordPress.org for ‘WooCommerce’ to dive in.

If you’re looking for something endorsed and maintained by the developers who built WooCommerce, there are a plethora of premium eCommerce extensions, the most popular of which include:

[WooCommerce Subscriptions](http://www.woothemes.com/products/woocommerce-subscriptions/)
[WooCommerce Memberships](http://www.woothemes.com/products/woocommerce-memberships/)
[WooCommerce Bookings](http://www.woothemes.com/products/woocommerce-bookings/)
[Dynamic Pricing](http://www.woothemes.com/products/dynamic-pricing/)
[Table Rate Shipping](http://www.woothemes.com/products/table-rate-shipping/)
[Product CSV Import Suite](http://www.woothemes.com/products/product-csv-import-suite/)

And there’s plenty more where they came from. Visit our [extensions page](http://www.woothemes.com/product-category/woocommerce-extensions/) to find out everything you’re capable of and all that's possible with premium WooCommerce extensions.

= Join our growing community =

When you download WooCommerce, you join a community of more than a million store owners, developers, and WordPress enthusiasts. We’re one of the fastest-growing open source communities online, and whether you’re a n00b or a Ninja, we’d love to have you!

If you’re interested in contributing to WooCommerce we’ve got more than 350 contributors, and there’s always room for more. Head over to the [WooCommerce GitHub Repository](https://github.com/woothemes/woocommerce) to find out how you can pitch in.

Want to add a new language to WooCommerce? Swell! You can contribute via [translate.wordpress.org](http://translate.wordpress.org/projects/wp-plugins/woocommerce).

And, finally, consider joining or spearheading a WooCommerce Meetup locally, more about those [here](http://www.woothemes.com/woocommerce/meetups/).

== Installation ==

= Minimum Requirements =

* WordPress 3.8 or greater
* PHP version 5.2.4 or greater
* MySQL version 5.0 or greater
* Some payment gateways require fsockopen support (for IPN access)

= Automatic installation =

Automatic installation is the easiest option as WordPress handles the file transfers itself and you don’t need to leave your web browser. To do an automatic install of WooCommerce, log in to your WordPress dashboard, navigate to the Plugins menu and click Add New.

In the search field type “WooCommerce” and click Search Plugins. Once you’ve found our eCommerce plugin you can view details about it such as the the point release, rating and description. Most importantly of course, you can install it by simply clicking “Install Now”.

= Manual installation =

The manual installation method involves downloading our eCommerce plugin and uploading it to your webserver via your favourite FTP application. The WordPress codex contains [instructions on how to do this here](http://codex.wordpress.org/Managing_Plugins#Manual_Plugin_Installation).

= Updating =

Automatic updates should work like a charm; as always though, ensure you backup your site just in case.

If on the off-chance you do encounter issues with the shop/category pages after an update you simply need to flush the permalinks by going to WordPress > Settings > Permalinks and hitting 'save'. That should return things to normal.

= Dummy data =

WooCommerce comes with some dummy data you can use to see how products look; either import dummy_data.xml via the [WordPress importer](http://wordpress.org/extend/plugins/wordpress-importer/) or use our [CSV Import Suite plugin](http://www.woothemes.com/products/product-csv-import-suite/) to import dummy_data.csv and dummy_data_variations.csv.

== Frequently Asked Questions ==

= Where can I find WooCommerce documentation and user guides? =

For help setting up and configuring WooCommerce please refer to our [user guide](http://docs.woothemes.com/documentation/plugins/woocommerce/getting-started/)

For extending or theming WooCommerce, see our [codex](http://docs.woothemes.com/documentation/plugins/woocommerce/woocommerce-codex/).

= Where can I get support or talk to other users? =

If you get stuck, you can ask for help in the [WooCommerce Plugin Forum](https://wordpress.org/support/plugin/woocommerce).

For help with premium add-ons from WooThemes, use [our helpdesk](http://support.woothemes.com/).

= Will WooCommerce work with my theme? =

Yes; WooCommerce will work with any theme, but may require some styling to make it match nicely. Please see our [codex](http://docs.woothemes.com/documentation/plugins/woocommerce/woocommerce-codex/) for help. If you're looking for a theme with built in WooCommerce integration we recommend [Storefront](http://www.woothemes.com/storefront/).

= Where can I request new features, eCommerce themes and extensions? =

You can vote on and request new features and extensions in our [WooIdeas board](http://ideas.woothemes.com/forums/133476-woocommerce)

= Where can I report bugs or contribute to the project? =

Bugs can be reported either in our support forum or preferably on the [WooCommerce GitHub repository](https://github.com/woothemes/woocommerce/issues).

= Where can I found the Rest API documentation? =

You can find the documentation of our REST API on the [WooCommerce REST API Docs](http://woothemes.github.io/woocommerce-rest-api-docs/).

= WooCommerce is awesome! Can I contribute? =

Yes you can! Join in on our [GitHub repository](http://github.com/woothemes/woocommerce/) :)

== Screenshots ==

1. The slick WooCommerce settings panel.
2. WooCommerce products admin.
3. Product data panel.
4. WooCommerce sales reports.
5. A single product page.
6. A product archive (grid).

== Changelog ==

= 2.4.12 - 9/12/2015 =
* Fix - 4.4 - Permission error when editing attribute terms.
* Fix - 4.4 - Missing variation images when wp_get_attachment_image_srcset() returns false instead of a string.
* Fix - 4.4 - Use post-thumbnail size in admin to avoid srcset.
* Fix - Webhook status not changed after save with active object-cache.

= 2.4.11 - 7/12/2015 =
* Fix - WordPress 4.4 support.
* Fix - Removes Switzerland from EU VAT definition .
* Fix - Fix auth endpoint urls.
* Fix - To allow backslash in SKUs.
* Fix - Sanity check for min/max quantity .
* Fix - 4.4 - Shipping class menu display.
* Fix - 4.4 - Admin menu icons and styling.
* Fix - API - Variable product backorders editing.
* Fix - API - Delete product transients when delete a variable product.
* Fix - API - Returned status when have an invalid oAuth timestamp.
* Fix - API - Early call of order status when editing orders.
* Tweak - 4.4 - Basic support for product embeds.
* Tweak - 4.4 - Support for srcset/sizes and responsive images.
* Tweak - 4.4 - Support for Twenty Sixteen.

= 2.4.10 - 10/11/2015 =
* Fix - Geo IP - Correctly parse .dat files.
* Fix - Geo IP - Ensure WC_Logger class exists before logging errors.
* Fix - Geo IP - Prevent notices in ipv6 methods.
* Tweak - Add information about credit card address for Simplify Commerce.

= 2.4.9 - 09/11/2015 =
* Fix - Check abspath exists in more files to prevent errors on direct access.
* Fix - Hide SQL errors during ajax requests.
* Fix - Fixed redirection loop on customizer screen.
* Fix - Improved error handling in WC_Geo_IP.
* Fix - Bulk edit sale prices.
* Fix - Check for child themes in System Status.
* Fix - API - Warnings when create attributes.
* Fix - System Report: Template version check path.
* Fix - Potential XSS within price.php fixed with escape on get_price() (would require edit/admin permissions to take advantage of). Discovered by FortiGuard Labs (http://www.fortiguard.com/). Template version has been bumped.

= 2.4.8 - 26/10/2015 =
* Fix - Help tips in variations admin.
* Fix - API - Fixed customer count method.
* Fix - Locale switching for city field.
* Fix - Notice in wc_nav_menu_items when endpoint is not set.
* Fix - Loading of correct variation prices when display is true and false in the same page load.
* Fix - Shipping priority for methods with colons in the name.
* Fix - Saving of passwords with '&' inside.
* Fix - Remove double escaping of coupon descriptions.
* Fix - Settings API default value should not apply if value of option is 0 .
* Fix - Avoid potential PHP Fatals by avoiding premature script enqueues.
* Fix - Pass mimes when checking file type .
* Fix - Reset shipping totals before calculation to prevent totals being used incorrectly.
* Fix - API - Corrected how attributes terms saves non-latin characters.
* Fix - API - Variations price sync.
* Fix - API - Fixed lost variable products data when create/edit an order.
* Tweak - Add trailing slash in get_page_uris to reduce likelihood of conflicts.
* Tweak - API - Added refunded_item_id on GET orders/<id>/refunds endpoint.
* Tweak - API - Allow variable products to get retrieved by SKU.
* Tweak - API - Allow edit variations without define the product type to variable.

= 2.4.7 - 21/09/2015 =
* Fix - Handle Switzerland in get_european_union_countries.
* Fix - For geolocation with static cache support, ensure hash is appended during form submission.
* Fix - To prevent discounts being applied in 'random' order (based on order added to cart), sort cart items based on subtotal during calculate_totals.
* Fix - Removed extra ob_start() in class-wc-shortcodes.php.
* Fix - Show counts in category dropdown.
* Fix - Escape add to cart messages to stop translations from breaking cart events.
* Fix - Display of product/order tables in the dashboard when viewed on handheld devices.
* Fix - API order item 'key' value.
* Fix - Check specifically for Post IDs in WC Query verbose rules fix.
* Fix - Only run maybe_set_cart_cookies if cart was loaded to prevent notices.
* Fix - Variation loading/refresh after attribute saving.
* Fix - Added monthly cron schedule.
* Fix - Remove use of 'input' event in checkout scripts to prevent IE11 triggering updates on placeholder change.
* Fix - AJAX variations not being found in some cases when product version was < 2.4, but attributes were updated after sync().
* Fix - Changed the way variable product prices get cached for greater plugin compatibility. See http://wp.me/p6wtcw-5x
* Fix - Highlighting of reports chart.
* Fix - Network activated plugins not showing up in system status report.
* Fix - Tax fields showing on bulk/quick edit when disabled the tax system.
* Fix - Tax status and tax class values within bulk edit.
* Tweak - Allow bulk edit price to 0 .
* Tweak - Add filters to control "shipped via" text.
* Tweak - Allow line breaks in non-variation attributes.
* Tweak - Renamed wc_var_prices transient to allow them to flush on product save.
* Tweak - woocommerce_save_account_details_required_fields hook.
* Tweak - Only 'count' published variations.
* Tweak - Display of order total in admin with refunds.
* Tweak - Use Geolocation class for customer IP detection.
* Tweak - Use the needs_payment function (DRY).
* Tweak - Tweak wc_create_page to work with trashed pages.
* Tweak - Redirect 'not right now' to referer in onboarding wizard.
* Tweak - woocommerce_update_new_customer_past_order action.
* Tweak - Prevent empty terms when using `wc_get_formatted_variation()`.
* Tweak - Unslash shipping label on orders admin screen.
* Tweak - Prevent wrong phone numbers on PayPal for CA and US when users add the prefix `+1`.
* Template - Removed 'Payment' heading in `templates/checkout/form-pay.php`.
* Template - Removed unnecessary clearing div in `templates/checkout/payment.php`.

= 2.4.6 - 24/08/2015 =
* Fix - menu_order notices on IIS.
* Fix - Grouped product is_purchasable check during add to cart.
* Fix - Subscriptions 2.0 (unreleased) compatibility.
* Fix - Encode variation data in add_to_cart_url method.
* Fix - Bulk update variation: Set manage stock when _manage_stock meta data is missing.
* Fix - Bulk update variation: Allow stock to be set to 0.
* Fix - Ajax variation < 2.4 attribute name handling.
* Fix - During updates, only recreate .htaccess if not using redirect download method.
* Fix - Handle non standard decimals in flat rate costs.
* Tweak - WC Setup wizard: Fix manual setting of decimal/thousand separator.
* Tweak - Set ajax/nocache headers for ajax requests.
* Tweak - Add tooltips for tax status and tax class options.
* Tweak - WC Setup wizard: multi-line step styling.
* Tweak - WC Setup wizard: site icon display on WP 4.3.
* Tweak - WC Setup wizard: tweaked wording.
* Tweak - WC Setup wizard: Add spinner/loading indication between onboarding steps.
* Tweak - Allow HTML in store notice.

= 2.4.5 - 20/08/2015 =
* Fix - Global text based attribute saving on product page.
* Fix - save_account_details should check display name of current user.
* Fix - Show the right 'no shipping available' message when a country does not have states.
* Fix - Add required postcode marker after label replace.
* Fix - Flush product cache so prices are regenerated after scheduled sale ends.
* Fix - Removed /page/ when using layered nav dropdown.
* Tweak - Allowed Zip/Post Codes description for Local Delivery.
* Tweak - Improve display_item_downloads numbering and use same function in emails.
* Tweak - API - Fixes notices about deprecated `$HTTP_RAW_POST_DATA` on PHP 5.6.
* Tweak - In add_to_cart_action, check is_purchasable rather than post status.
* Tweak - Add expand/close links for attributes and match variation UI.
* Tweak - Added locale info for BD, NP, JP and HU
* Tweak - woocommerce_delete_version_transients_limit filter.
* Tweak - Suppress errors when calling set_time_limit to avoid hosting conflicts.
* Tweak - Keep new variation in sync so actions can modify data.
* Tweak - Improved download numbering in emails and order page.
* Tweak - Allowed users to install translations for the current language during the Setup Wizard.

= 2.4.4 - 14/08/2015 =
* Fix - Ajax variation handling when 'any' attribute is set.
* Fix - Run html_entity_decode over text attributes to fix problems with quote characters.
* Fix - COD: remove shipping check if the cart is 100% virtual.
* Tweak - Order variations by menu_order by fallback to ID.
* Tweak - Include attribute archives support in the breadcrumbs.
* Tweak - woocommerce_variable_children_args hook.

= 2.4.3 - 12/08/2015 =
* Fix - Query within wc_customer_bought_product().
* Fix - Tab hiding with some theme markup.
* Fix - Ajax variations: stripslashes to fix attributes with quotes.
* Fix - No longer returns to the first variation list page when deleting one variation.
* Fix - Refund subjects when order contains downloadable product.
* Fix - wc_get_product_variation_attributes should only get parent attributes which are for variations.
* Tweak - Disable display_errors during ajax requests to prevent malformed JSON.
* Tweak - When merging shipping taxes with a shipping rate taxes, ensure shipping rate taxes is not malformed.
* Tweak - Improved refund email events and woocommerce_order_fully_refunded hook.

= 2.4.2 - 11/08/2015 =
* Fix - If all variations are out of stock, maintain pricing display.
* Fix - Prevent double add to cart due to ajax endpoints.
* Fix - ordering_args in product_category shortcode.
* Fix - Tax inclusive prices rounding case.
* Tweak - If no variation prices are found, show no price label rather than free.
* Tweak - Made tab panel selector more specific to avoid theme conflicts.
* Tweak - Made checkout make use of new ajax endpoints.
* Tweak - woocommerce_force_ssl_checkout no longer needs to check for admin-ajax actions.
* Tweak - Hide get_formatted_legacy notices when doing ajax.
* Tweak - use shop_single instead of full image size for variations.

= 2.4.1 - 10/08/2015 =
* Fix - Tweaked the 2.4 upgrade routine to disable refund emails during update.
* Fix - Notices when calling get_shipping_classes().
* Fix - Added upgrade routine to ensure _stock_status meta exists for variations created before WooCommerce 2.2

= 2.4.0 - 10/08/2015 =
* Feature - Onboarding/setup wizard for new users to handle basic store settings and installation.
* Feature - Improved help tabs with inline video tutorials where applicable.
* Feature - New AJAX powered variations interface to improve edit product page loading times and posting large amounts of data.
* Feature - For products with many variations, on the frontend switch to AJAX to load matching variations based on user input attributes, instead of doing it all inline.
* Feature - Show full category hierarchy in permalinks.
* Feature - Added priorities for shipping methods to give more control over defaults.
* Feature - [Added a new geolocation option to support static page caching using AJAX and a querystring.](https://woocommerce.wordpress.com/2015/07/02/making-geolocation-static-cache-friendly-in-2-4/)
* Feature - Email notifications for partial refunds.
* Feature - Visual API authentication endpoint for 3rd party use.
* Feature - API key generation changes. Secret keys no longer stored in database.
* Feature - [Refactored Flat Rate Shipping for simplicity.](https://woocommerce.wordpress.com/2015/06/simplifying-flat-rate-shipping-in-wc-2-4/)
* Feature - Made international shipping UI the same as flat rate.
* Feature - New ajax endpoints to improve performance by avoiding admin overhead.
* Fix - Ensure coupon taxes are reset when calculating totals.
* Fix - Improve discount amount rounding.
* Fix - Update order shipping after editing shipping from API.
* Tweak - Moved country next to other address fields in Checkout UI.
* Tweak - Improved reports, in particular for refunds.
* Tweak - Improve save_attributes ajax function to correctly save text attributes.
* Tweak - Base discounts on the undiscounted price. #5874
* Tweak - Added wc_product_cat_class functions.
* Tweak - Display related products and upsells in 4 columns.
* Tweak - Only redirect to welcome page for MAJOR versions/updates.
* Tweak - GeoLocation IPv6 database.
* Tweak - Improved text based attribute handling to prevent issues with slashes.
* Tweak - Ajaxified the grouped product option.
* Tweak - Email template improvements and wider email client compatibility.
* Dev - Created a template file for the Proceed to Checkout button.
* Dev - API version v3.
* Dev - API - Implemented full support for Basic Authentication for v3, following the RFC 2617 specs.
* Dev - API - Fixed Oauth 1.0a to strictly follow all specs from RFC 5849 for v3.
* Dev - API - Added an endpoint to handle product attributes.
* Dev - API - Auto generete passwords for new customers only when enabled the generate_password option.
* Dev - API - Added display and image on product categories response.
* Dev - API - Added endpoint for bulk update/insert coupons, customers, products and orders.
* Dev - API - Deprecated /product/sku endpoint from v3.
* Dev - API - Created the /products/id/orders endpoint to fetch orders containing a specific product.
* Localisation - Added Argentine currency and provinces.
* [Various other small fixes and enhancements.](https://github.com/woothemes/woocommerce/issues?q=is%3Aissue+milestone%3A%222.4+Helpful+Hedgehog%22+is%3Aclosed)

[See changelog for all versions](https://raw.githubusercontent.com/woothemes/woocommerce/master/CHANGELOG.txt).

== Upgrade Notice ==

= 2.4.0 =
2.4.0 is a major update so it is important that you make backups, and ensure themes and extensions are 2.4 compatible. Developers should catch up with [the development blog](https://woocommerce.wordpress.com/) to see what has been happening in core.
