WooCommerce is the world’s most popular open-source eCommerce solution.
WooCommerce is the world’s most popular open-source eCommerce solution.
Our core platform is free, flexible, and amplified by a global community. The freedom of open-source means you retain full ownership of your store’s content and data forever.
Whether you’re launching a business, taking brick-and-mortar retail online, or developing sites for clients, use WooCommerce for a store that powerfully blends content and commerce.
Built-in tools and popular integrations help you efficiently manage your business operations. Many services are free to add with a single click via the optional Setup Wizard.
WooCommerce means business. Keep tabs on the performance metrics most important to you with WooCommerce Admin – a powerful, customizable central dashboard for your store.
Expand your audience across marketing and social channels with Google Ads, HubSpot, Mailchimp, and Facebook integrations. You can always check out the in-dashboard Marketing Hub for fresh ideas and tips to help you succeed.
Enhance store functionality with hundreds of free and paid extensions from the official WooCommerce Marketplace. Our developers vet each new extension and regularly review existing inventory to maintain Marketplace quality standards. We are actively looking for products that help store builders create successful stores.
Manage your store from anywhere with the free WooCommerce mobile app (Android and iOS). Spoiler alert: Keep an ear out for the slightly addictive “cha-ching” notification sound each time you make a new sale!
With WooCommerce, your data belongs to you. Always.
If you opt to share usage data with us, you can feel confident knowing that it’s anonymized and kept secure. Choose to opt-out at any time without impacting your store.
Unlike hosted eCommerce solutions, WooCommerce store data is future-proof; should you wish to migrate to a different platform, you’re free to export all your content and take your site wherever you choose. No restrictions.
Developers can use WooCommerce to create, customize, and scale a store to meet a client’s exact specifications, making enhancements through extensions or custom solutions.
The core platform is tested rigorously and often, supported by a dedicated development team working across time zones. Comprehensive documentation is updated with each release, empowering you to build exactly the store required.
WooCommerce has a large, passionate community dedicated to helping merchants succeed, and it’s growing fast.
There are WooCommerce Meetups in locations around the world that you can attend for free and even get involved in running. These events are a great way to learn from others, share your expertise, and connect with like-minded folks.
WooCommerce also has a regular presence at WordCamps across the globe – we’d love to meet you.
WooCommerce is developed and supported by Automattic, the creators of WordPress.com and Jetpack. We also have hundreds of independent contributors, and there’s always room for more. Head to the WooCommerce GitHub Repository to find out how you can pitch in.
WooCommerce is translated into multiple languages, including Danish, Ukrainian, and Persian. Help localize WooCommerce even further by adding your locale – visit translate.wordpress.org.
Visit the WooCommerce server requirements documentation for a detailed list of server requirements.
Automatic installation is the easiest option — WordPress will handles the file transfer, and you won’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,” then click “Search Plugins.” Once you’ve found us, you can view details about it such as the point release, rating, and description. Most importantly of course, you can install it by! Click “Install Now,” and WordPress will take it from there.
Manual installation method requires downloading the WooCommerce plugin and uploading it to your web server via your favorite FTP application. The WordPress codex contains instructions on how to do this here.
Automatic updates should work smoothly, but we still recommend you back up your site.
If you encounter issues with the shop/category pages after an update, flush the permalinks by going to WordPress > Settings > Permalinks and hitting “Save.” That should return things to normal.
WooCommerce comes with some sample data you can use to see how products look; import sample_products.xml via the WordPress importer. You can also use the core CSV importer or our CSV Import Suite extension to import sample_products.csv
If you get stuck, you can ask for help in the WooCommerce Support Forum by following these guidelines, reach out via the WooCommerce Community Slack, or post in the WooCommerce Community group on Facebook.
For assistance with paid extensions from the WooCommerce.com Marketplace: first, review our self-service troubleshooting guide. If the problem persists, kindly log a support ticket via our helpdesk. Our dedicated Happiness Engineers aim to respond within 24 hours.
Yes! WooCommerce will work with any theme but may require some additional styling. If you’re looking for a theme featuring deep WooCommerce integration, we recommend Storefront.
We have a detailed guide on How To Update WooCommerce.
Start by diagnosing the issue using our helpful troubleshooting guide.
If you noticed the error after updating a theme or plugin, there might be compatibility issues between it and WooCommerce. If the issue appeared after updating WooCommerce, there could be a conflict between WooCommerce and an outdated theme or plugin.
In both instances, we recommend running a conflict test using Health Check (which allows you to disable themes and plugins without affecting your visitors) or troubleshooting the issue using a staging site.
Report bugs on the WooCommerce GitHub repository. You can also notify us via our support forum – be sure to search the forums to confirm that the error has not already been reported.
Request new features and extensions and vote on existing suggestions on our official ideas board. Our Product teams regularly review requests and consider them valuable for product planning.
Extensive WooCommerce REST API Documentation is available on GitHub.
Check out Frequently Asked Questions for more.
* Localization – Add ‘Ladakh’ to the list of Indian states. #28458
* Localization – Revert change and make city and postcode required again for Serbia. #28415
* Performance – Added cache and filter for wc-customer get operations. #27352
* Performance – Hydrate caches for wc_get_order to improve performance. #27734
* Performance – Fetch only required data from DB when possible in API calls. #27735
* Enhancement – add product and variation before_set_stock action hooks to allow 3rd party plugins to snapshot a product’s stock quantity before it is updated. #27558
* Enhancement – Add the ability to avoid unsupported updates based on the PHP version. #28151
* Fix – Format tax class before insertion to prevent conflicts with default classes. #27451
* Fix – Change href of premium support link. #27675
* Fix –
get_next will now return null if the same action is currently executing to help with missed webhooks issue. #27850
* Fix – Return default date/time formats from wc_date_format and wc_time_format if WP core formats are empty. #28322
* Fix – Use WC function to get low stock amount instead of accessing option directly. #28440
* Fix – Use single quotes inside MySQL query to avoid issues when ANSI_QUOTES is enabled. #28468
* Fix – Remove deprecated PayPal Standard “Page Style” setting. #28499
* Fix – Remove GB and IM from EU VAT countries. #28538
* Fix – Fix issue where customer could checkout although mandatory field “Country” was not given. #28543
* Fix – Switch to general tab when enabling virtual on a product setting. #28414
* Fix – Unwanted HTML is showing up on the product search fields when searching for a product variation. #28416
* Fix – Add
postbox class to
woocommerce_attribute wc-metabox for proper targeting. #28351
* Fix – Error tooltip misaligned on tax country field. #28565
* Fix – Prevent meta_data from overwriting column data in customer’s read. #28102
* Fix – Also count comment types with ” and ‘comment’ in the review count query. #28624
* Fix – Better error messages when usage limit are reached. #28592
* Fix – Adjust stock items only for statuses which reduces the stock. #28620
* Fix – Named parameter to fix DB update routine on PHP8. #28537
* Fix – Add protection around func_get_args_call for backwards compatibility. #28677
* Fix – Restore stock_status in REST API V3 response. #28731
* Fix – Revert some of the changes related to perf enhancements (27735) as it was breaking stock_status filter. #28745
* Dev – Hook for intializing price slider in frontend. #28014
* Dev – Add support for running a custom initialization script for tests. #28041
* Dev – Use the coenjacobs/mozart package to renamespace vendor packages. #28147
* Dev – Documentation for
* Dev – Removed unused dockerfile. #28270
* Dev – replaces deprecated jQuery.fn.click( handler ) with jQuery.fn.on( ‘click’, handler ). #28332
* Dev – removed jQuery code that didn’t work that was supposed to interact with the coupon page. #28287
* Dev – Documentation return type fixes for WC_Payment_Gateway class. #28358
* Dev – Remove function existence check for determine_locale. #28386
* Dev – add a missing second parameter to our copy of the WP action lostpassword_post. #28467
* Dev – Added argument on wc_get_template() to pass email object to email header and footer templates. #28204
* Dev – Add is_numeric checks on sales reports by date to prevent notices with PHP 7.4. #28403
WooCommerce – Admin 1.8.0 & 1.8.1
* Enhancement – Add “filter by variations in reports” inbox note. #5208
* Enhancement – Tasks extensibility in Home Screen. #5794
* Enhancement – Add page parameter to override default wc-admin page in Navigation API. #5821
* Enhancement – Introduce the customer effort score (CES) feature.
* Enhancement – Rework task extensibility in the homescreen. #5794
* Enhancement – Migrate the reviews panel to the homescreen. #5706
* Enhancement – Migrate reviews panel to home screen. #5706
* Enhancement – Add Razorpay to payment task for stores in India – #5775
* Enhancement – Migrate Stock Panel to Homescreen. #5729
* Enhancement – Add enhanced placeholders for Marketing components. #5611
* Enhancement – Allow switching on/off the navigation feature in plugin and core builds. #5697
* Fix – Product exclusion filter on Orders Report.
* Fix – Typo in Variation Stats DataStore context filter value. #5784
* Fix – Move collapsible config to panels object, to allow for more control. #5855
* Fix – Invalidate product count if the last product was updated in the list. #5790
* Fix – Add Customer Type column to the Orders report table. #5820
* Fix – Product exclusion filter on Orders Report. #5822
* Fix – Show the customer type column in Orders report table. #5820
* Fix – make sure ‘Customers’ page updates after order update. #5776
* Fix – Fix fatal errors when child themes are installed in a subdirectory. #5783
* Fix – Allow actionable statuses in orders endpoint(s) filters. #5733
* Fix – snackbar dismissal bug. #5696
* Fix – Only import the Gridicons we need, to reduce package size. #5668
* Fix – Stop order panels flickering on load. #5655
* Fix – Load wc-tracks to avoid fatal errors. #5645 #5638
* Fix – Preventing desktop-sized navigation placeholder from appearing on mobile during load. #5616
* Fix – Completed tasks tracking causing infinite loop #5941
* Fix – Remove Navigation access #5940
* Fix – Compile the debug module so it can be used in older browsers like IE11. #5968
* Tweak – Fix inconsistent REST API parameter name for customer type filtering. #5823
* Tweak – Improve styles of the tax task. #5709
* Tweak – Do not show store setup link on the homescreen. #5801
* Tweak – Revert the #5001 work to order tasks by completion. #5721
* Tweak – Revert the smart tax defaults work. #5720
* Tweak – Do not show store setup activity panel on the homescreen. #5801
* Tweak – Don’t show the Orders panel on the homescreen with the Task List. #5552
* Tweak – Continue showing tasklist even if list is complete, only hide if set to hidden. #5673
* Tweak – Remove check for Jetpack and WCS from Stripe onboarding task. #4933
WooCommerce Blocks 3.9.0 & 4.0.0
* Enhancements – Expose
discount_type in Store API coupon endpoints. (3399)
* Enhancements – Exclude checkout-draft orders from WC Admin reports and My Account > Orders. (3379)
* Fix – Hide spinner on cart block’s “Proceed to Checkout” link when page unloads. (3436)
* Fix – Fixed express payment methods processing not completing when Stripe payment method active. (3432)
* Fix – Refresh PaymentRequest after cancelling payment to prevent addresses remaining populated on repeat attempts. (3430)
* Fix – Ensure “Add a note to your order” section is styled correctly when disabled. (3427)
* Fix – Prevent checkout step heading text overlapping actual heading on small viewports. (3425)
* Fix – Improve Stripe payment request API payment method availability. (3424)
* Fix – Stop hidden products from being linked in cart and checkout blocks. (3415)
* Fix – Show Express Payment Method Error Notices after Payment Failure. (3410)
* Fix – Fix cart block
isLarge console error in the editor when running WordPress 5.6 beta. (3408)
* Fix – Orders not being placed when paying with an Express payment method from the Cart block. (3403)
* Fix – Fix incorrect usage of static method in Stripe payment method integration. (3400)
* Fix – Cart and checkout should respect the global “Hide shipping costs until an address is entered” setting. (3383)
* Fix – Sync shipping address with billing address when shipping address fields are disabled. This fixes a bug where taxes would not reflect changes in billing address when they are set to be calculated from billing address (3358)
* Fix – Checkout block: Prevent
Create an account from creating up a user account if the order fails coupon validation. (3423)
* Fix – Make sure cart is initialized before the CartItems route is used in the Store API. (3488)
* Fix – Fix notice close button color in Twenty Twenty One dark mode. (3472)
* Fix – Remove held stock for a draft order if an item is removed from the cart. (3468)
* Fix – Ensure correct alignment of checkout notice’s dismiss button. (3455)
* Fix – Fixed a bug in Checkout block (Store API) causing checkout to fail when using an invalid coupon and creating an account.
* Fix – Checkout block: Correctly handle cases where the order fails with an error (e.g. invalid coupon) and a new user account is created. (3429)
* Dev – Refactored and reordered Store API checkout processing to handle various edge cases and better support future extensibility. (3454)
* Dev – Support a plain js configuration argument to payment method registration APIs. (3404)
* Dev – Change register_endpoint_data to use an array of params instead of individual params. (3478)
* Dev – Expose store/cart via ExtendRestApi to extensions. (3445)
* Dev – Added formatting classes to the Store API for extensions to consume.