WooCommerce

Description

WooCommerce is the open-source ecommerce platform for WordPress.

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.

ALL THE TOOLS YOU NEED TO SELL

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.

  • Choose how you want to get paid. Conveniently manage payments from the comfort of your store with WooPayments (Available in the U.S., U.K., Ireland, Australia, New Zealand, Canada, Spain, France, Germany, and Italy). Securely accept credit cards, mobile wallets, bank transfers, and cash thanks to 100+ payment gateways – including Stripe, PayPal, and Square.
  • Configure your shipping options. Print USPS labels right from your dashboard and even schedule a pickup with WooCommerce Shipping (U.S.-only). Connect with well-known carriers such as UPS and FedEx – plus a wide variety of delivery, inventory, and fulfillment solutions for your locale.
  • Simplify sales tax. Add WooCommerce Tax or similar integrated services to make automated calculations a reality.

Grow your business, add features, and monitor your store on the go

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 extensions 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!

Own and control your store data – forever

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; you’re free to export all your content and take your site to any platform you choose. No restrictions.

Why developers choose (and love) WooCommerce

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.

  • Leverage hooks and filters to modify or create functionality.
  • Integrate virtually any service using a robust REST API and webhooks.
  • Design and build custom content blocks with React.
  • Inspect and modify any aspect of the core plugin code.
  • Speed up development with a lightning-fast CLI.

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.

Be part of our growing international community

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.

Contribute and translate

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.

Screenshots

Blocks

This plugin provides 2 blocks.

  • Filter by Rating Controls Enable customers to filter the product grid by rating.
  • Filter by Stock Controls Enable customers to filter the product grid by stock status.

Installation

Minimum Requirements

  • PHP 7.4 or greater is required (PHP 8.0 or greater is recommended)
  • MySQL 5.6 or greater, OR MariaDB version 10.1 or greater, is required

Visit the WooCommerce server requirements documentation for a detailed list of server requirements.

Automatic installation

Automatic installation is the easiest option — WordPress will handle 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

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.

Updating

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.

Sample data

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

FAQ

Where can I find WooCommerce documentation and user guides?

For help setting up and configuring WooCommerce, please refer to Getting Started and the New WooCommerce Store Owner Guide.

For extending or theming WooCommerce, see our codex, as well as the Plugin Developer Handbook.

Where can I get help or talk to other users about WooCommerce Core?

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.

Where can I get help for extensions I have purchased from the WooCommerce Marketplace?

For assistance with paid extensions from the WooCommerce 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.

I’m having trouble logging in to Woo.com – what now?

First, troubleshoot common login issues using this helpful step-by-step guide. Still not working? Get in touch with us.

Will WooCommerce work with my theme?

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.

How do I update WooCommerce?

We have a detailed guide on How To Update WooCommerce.

My site broke – what do I do?

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.

Where can I report bugs?

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.

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

Request new features and extensions and vote on existing suggestions on our official feature request board. Our Product teams regularly review requests and consider them valuable for product planning.

WooCommerce is awesome! Can I contribute?

Yes, you can! Join in on our GitHub repository and follow the development blog to stay up-to-date with everything happening in the project.

Where can I find REST API documentation?

Extensive WooCommerce REST API Documentation is available on GitHub.

My question is not listed here. Where can I find more answers?

Check out Frequently Asked Questions for more.

Reviews

March 28, 2024
Since 8.4 it triggers too many false positive on modsecurity, crash any website under plesk/debian11/Comodo ruleset... adds unwanted cookies, calls external apis, force new functionalities, too bulky for what the average shop owner needs... well... now i'm afraid of updating this plugin... are you even testing your plugin before put it in production ? and last but not least extensions are overpriced. Cant wait for an alternative, in the meantime i will suggest my client to move to another platform.
March 27, 2024
I tried in dif ways but it is impossible. After the installation of 8.7.0 I cant see the web and I cant access to the administrator of wordpress. My php 7.4 and using Divi.
Hello 🙂 Until a month ago, I had a working WooCommerce. But now it crashes my whole site. I'm developing locally on Xampp when I try to access the site dashboard and it gives me a network related error. I did a brand new installation of WordPress and gradually added the plugins. And the moment I installed WooCommerce everything exploded - it kicked me out again and gave me the error I mentioned.
March 26, 2024 2 replies
I don't actually expect a review to make a difference, but I don't want to watch in silence any more. I love WordPress, and for a while, woocommerce was a great option. But now I'm losing my clients to Shopify. Why? Because Automattic is buying up core woo functionality and raising the annual costs. They've violated policies before and had plugins temporarily removed from the repository. This morning I learned they're moving the updates to their plugins to a space they control. I'm guessing that's to avoid the same problem in future. Woocommerce lacks tax and shipping functionality. It says that it works if you install Jetpack, but it doesn't. They've taken over the easy Payment integration plugins. Before long, my clients won't be able to make money with a store because they're paying Automattic for needed functions. I never would have thought there would come a day when Shopify was cheaper. But here we are. And that makes me very sad. Woo used to be a great way for someone to start a small store. It was empowering. But now it feels like we've been invaded by extortion.
March 26, 2024 2 replies
Hello, I updated the latest version of Woocomerce, 1st it does not save the short description or the downloadable files.I can write the description correctly and put the pdf file to download but when I click update it is deleted. 2nd I use the latest version of the Multi Currency for WooCommerce plugin establishing USD as the main currency and $ as the second, when all the products enter from my country and in the cart they appear with the $ symbol and the price that is fine, but at checkout I change the symbol to USD and the price. Both things since I updated the plugin. I never had any problems with this plugin, it's the first time.
Read all 4,272 reviews

Changelog

8.7.0 2024-03-18

WooCommerce

  • Fix – Product Editor pages do not pass global settings into Editor. Product Editor is responsible for loading settings itself. #45490
  • Fix – Fix issue where no text would be displayed if no shipping methods are available in the cart/checkout #45249
  • Fix – Products Stock Indicator and Sale Badge: prevent fatal when block were used in a homepage #45135
  • Fix – Fix LegacyProxy::get_instance_of throwing an error when trying to get an instance of a non-Woo namespaced class. #45178
  • Fix – “Hero product chessboard” pattern: remove placeholder and update margins. #44553
  • Fix – Add checks and filters to the product_page shortcode. #44666
  • Fix – Adds a nonce check to the HPOS order sync tool. #44667
  • Fix – Avoid duplicate templates appearing on the Site Editor when the WooCommerce template and the theme template have been customized by the user #44000
  • Fix – Core – CYS: fix fonts not loaded on the font picker iframes #44586
  • Fix – Core – CYS: fix Inter font not applied. #44544
  • Fix – Corrects references for WC_API_Server. It was all uppercase. #37054
  • Fix – CYS – Core: Ensure that the Bodoni font is loaded #44464
  • Fix – CYS – Core: ensure that the the default font pair and color pair are selected. #44309
  • Fix – CYS – Core: fix fonts not loaded after the setup #44550
  • Fix – CYS – Core: install fonts only when the tracking is enabled #44558
  • Fix – CYS – Ensure the size of fonts is not affected by a font family change. #44424
  • Fix – CYS – Fix button typhography for the “Montserrat + Arvo” and “Commissioner + Crimson Pro” font pairings. #44458
  • Fix – CYS – Update pattern image to have a better resolution #44611
  • Fix – Ensure a consistent border style is applied to combobox suggestions and the main input. #44183
  • Fix – Ensure all customers have a session when visiting the order pay page. #43858
  • Fix – Ensure proper handling of product-related taxonomies in the Product Collection block #44230
  • Fix – Ensure that no undefined index warnings are thrown while parsing the backtrace to determine a log’s source #44486
  • Fix – Ensure WC admin functions are defined before attempting to add notices. #44114
  • Fix – Fix – Add back the parent machine to the designWithNoAiStateMachineDefinition child machine option. #44397
  • Fix – Fix a possible fatal exception setting a duplicate asset registry key needsRefreshForInteractivityAPI #44808
  • Fix – Fix default shipping method selection after rate changes. #44117
  • Fix – Fix deprecation notices for legacy order item keys. #44362
  • Fix – Fixed a bug affecting registration during checkout that would prevent a new user from logging in. #43777
  • Fix – Fixed a bug where express payment methods could not be removed from the wc/store/payment data store. #44633
  • Fix – Fixed coupon errors with coupon codes containing apostrophes. #40998
  • Fix – fix fatal string to array conversion error in get_full_size_image_dimensions #40395
  • Fix – Fix for the dependency injection container resolution by tag #44496
  • Fix – Fix orders being attributed to Web Admin incorrectly in certain cases. #44219
  • Fix – Fix overlay sizing issue with the Product Gallery Pop-Up. #44479
  • Fix – Fix pre-publish modal styles #44562 #44562
  • Fix – Fix refund props not updating properly with HPOS #44214
  • Fix – Fix regression (and inconsistency) in the way the session handler references its database table. #44517
  • Fix – Fix SVG markup in miniCartIcon #44042
  • Fix – Fix the missing AI status when reloading the CYS transitional page. #44121
  • Fix – Fix the REST API controllers registration #44833
  • Fix – Fix the Site Editor showing the template slug instead of the template title when saving a WooCommerce block template customized by the theme. #44254
  • Fix – Fix untranslated “Are you already selling somewhere else?” text in the product task #44763
  • Fix – Focus return to the trigger element when closing the Product Gallery Pop-Up #44414
  • Fix – HPOS: fix handling order meta containing nonexistent class when sync is on. #43517
  • Fix – Prevent script caching by using the WC core version to hash Interactivity API assets instead of old WC Blocks version #44806
  • Fix – Prevent wc_get_chosen_shipping_method_ids from causing fatal errors if chosen methods are not strings. #43869
  • Fix – Product Collection: fix incorrect product data being displayed when Product Collection is placed in Single Product block #44123
  • Fix – Product Collection: fix minor UI glitches in editor #44403
  • Fix – Product Editor loading state now shows until form is displayed. No more blank flash of white. #43840
  • Fix – Product Image block: show the setting to control the imageSizing attribute and add the attribute to the Product Catalog and Product Search Results templates. #44691
  • Fix – Remove double reporting from daily runs #44592
  • Fix – Remove override of /jetpack/v4/connection/data that was added as a workaround to fix issues with the mobile apps. #44390
  • Fix – Remove property type hints in TransientFilesEngine and ReceiptRenderingEngine #44829
  • Fix – Removes the ability to test if arbitrary files exist on a server through the product editor’s downloadable files UI. #44665
  • Fix – Restrict the Number of Thumbnails setting from the Product Gallery block to integer values #44282
  • Fix – Translations for the new Product Editor are now loaded. #44520
  • Fix – Updates REST API V1 (though it generally should no longer be used) to prevent the emission of various deprecation notices. #44741
  • Fix – Update get_shipping_countries to return an empty list of countries when shipping is disabled. #44034
  • Fix – [CYS – Core]: Before installing the fonts, ensure that the font library is available #44358
  • Fix – [CYS- Core] Improve the default palette. #44722
  • Fix – [Experimental] Fix a bug where the editor for attribute selector would flicker and re-render constantly. #44147
  • Fix – [Experimental] Fix the style of chip for new active filter block. #44682
  • Add – Add a filter to allow preventing an expired log file from being deleted #44380
  • Add – Add a new remote variant for random distribution of cohort assignment. #44786
  • Add – Add details about the logging configuration to the System Status Report #44106
  • Add – Added the selected collection name in the product collection block context #43247
  • Add – Add focus trapping within the Product Gallery Pop-Up to enhance keyboard navigation and accessibility. #44439
  • Add – Add functionality to navigate between Product Gallery image thumbnails with the keyboard. #44236
  • Add – Add legacy data cleanup process for HPOS. #43293
  • Add – Add new “can receive cancelled order email” test #43985
  • Add – Adds logic to display notices of promotions from Woo.com on in-app marketplace pages #44840
  • Add – Add structured metadata to grouped products. #42808
  • Add – Adds wp wc hpos backfill tool to backfill from/to either order datastore. #44281
  • Add – Add test to check product reviews. #44077
  • Add – Add the “Mobile app” order attribution source. #44519
  • Add – Add the receipts rendering engine #43502
  • Add – Add source event props for marketing_recommended_extension track events to differentiate recommendations from woo.com API or default fallback data. #44714
  • Add – Always show the variation options and variations section #44001
  • Add – Announce Pop-Up Opening with Voiceovers #44332
  • Add – CYS – Core – Check the Font Library availability. #44206
  • Add – CYS – Core: Add async job to install fonts. #44473
  • Add – CYS – Core: add integration with the font library. #44004
  • Add – Fix styles for our InterfaceSkeleton actions #44331 #44331
  • Add – Hide Downloads section under Toggle for product variations #44152
  • Add – Improve Accessibility in Product Collection Navigation #44599
  • Add – Introduce WooCommerce Admin Notice component #44620
  • Add – Product Collection: Add loading indicator for client-side pagination #44571
  • Add – Product Collection: recognise the location of block in Editor and pass it with the request #43997
  • Add – Product Collection: Return to top after the page change #43817
  • Add – Product Editor: Subsection block #43725 #43725
  • Add – Use the new text area block in the summary field #44104
  • Add – [Product Block Editor]: use text-area block to handle the variation description field #44151
  • Update – Add Moroccan regions to states.php #41769
  • Update – Change promotions transient name to correspond with WC_Admin_Marketplace_Promotions::TRANSIENT_NAME. #44857
  • Update – Comment: This is behind a feature flag #44615
  • Update – Create a dedicated survey and tracking events for the CYS flow on core. #43862
  • Update – CYS – Move checking if the current active theme has modifications to the assembler-hub step instead of the intro step #44647
  • Update – CYS – Reduce the width of the “Design your own” text box on the Intro screen #44546
  • Update – CYS – Update “Start customizing your store” task description on Core #44584
  • Update – CYS – Update homepage templates intro patterns #44616
  • Update – CYS – Update sidebar links copy on the assembled page. #44762
  • Update – CYS – Update the “Change your homepage” description on Core #44579
  • Update – CYS – Update the subheading copy of the transitional page #44603
  • Update – CYS: Proceed with product creation when their images fail to upload. #44031
  • Update – Fix condition in Promotions component so marketplace promotions are properly filtered by page. #44884
  • Update – Fix type handling and default value for remote API transformers #44418
  • Update – Improved the combobox component validation error message #44229
  • Update – Improve remote specifications transient handling and error management #44384
  • Update – Introduced woocommerce_my_account_after_my_address, woocommerce_order_details_after_customer_address, and woocommerce_edit_account_form_fields hooks. #43823
  • Update – Move rendering of Order Attribution inputs to woocommerce_checkout_after_customer_details. Expose a method for custom theming. #44333
  • Update – Product Collection: improve flaky E2E test when block was nested in Single Product block #44404
  • Update – Remove WooCommerce Blocks entry from the WooCommerce status page #44412
  • Update – Simplify the applied coupon data that gets stored as line item meta #44113
  • Update – This is behind a feature flag. #44463
  • Update – This is behind a feature flag. #44615
  • Update – Update “Large Footer” and “Large Footer Dark” Twitter icons to X and update the social URLs. #44807
  • Update – Update Action Scheduler to 3.7.2 #44628
  • Update – Updated example plugin code in activity-panel-inbox.md to include namespacing. #44504
  • Update – Update experiment name for enabling new product editor. #44731
  • Update – Update Shipping Method creation call to action button with more clear label #44788
  • Update – Updates the bundled JS Cookie library to v3.0.5. #43686
  • Update – Update the CYS intro modal copy on Core. #44081
  • Update – Update the Product gallery pattern title #44604
  • Update – [CYS – Core] Handling errors during the setup for the NoAI flow #43810
  • Update – [Experimental] Add a flag that will force page refresh when combining interactivity filters with classic template or products (beta) blocks. #44631
  • Dev – Add base RemoteSpecsEngine class, add logging for errors in all remote specs #44775
  • Dev – Add checks and unit tests to rule processors #44448
  • Dev – Add checks and unit tests to Transformers #44634
  • Dev – Add e2e tests to edit and delete product reviews. #44411
  • Dev – Added e2e test to monitor number of JS includes in certain pages #44046
  • Dev – Add error handling and tests for ShippingPartnerSuggestions #44641
  • Dev – Add extra checks (description, sale-price, SKU, purchase note, attribute color) to the existing add-virtual-product test #43783
  • Dev – Add php unit watcher and update unit test docs #44681
  • Dev – Adds e2e tests for the creation of all coupon types (merchant) #44671
  • Dev – Adds e2e tests for user account email flows #44622
  • Dev – Adds logic to get notices of promotions from Woo.com endpoint, and (if necessary) show a bubble next to the WooCommerce “Extensions” menu item. #44655
  • Dev – Add some missing core contributors to the contributors list. #44740
  • Dev – Adds tests for the creation of restricted coupons #44716
  • Dev – Add queryContextIncludes attribute to Product Collection block #44150
  • Dev – Apply Rector suggestions for PHP 8.1 #43230
  • Dev – Apply Rector suggestions for PHP 8.1 #43233
  • Dev – Apply type checks and enhancements for PHP 8.1 #41253
  • Dev – Apply type checks and enhancements for PHP 8.1 #41482
  • Dev – E2E tests: add explicit timeout for action and navigation #44891
  • Dev – E2E tests: add test for creating a downloadable product #44112
  • Dev – E2E tests: add tests for managing product images in block editor #44470
  • Dev – E2E tests: add tests for product edit using blocks editor #44272
  • Dev – E2E tests: add tests for product inventory in product block editor #44699
  • Dev – E2E tests: add tests for products bulk edit #44039
  • Dev – E2E tests: add tests for up-sells and cross-sells #44154
  • Dev – E2E tests: fix a flaky product inventory test #44897
  • Dev – E2E tests: update product review tests to work with more reviews #44644
  • Dev – Fix a couple of flaky e2e tests #44208
  • Dev – Fixed the postinstall command failing on macos #44853
  • Dev – Improve return value type checks prior to usage #43227
  • Dev – Improve the existing E2E test shopper simple product to test description and images #44365
  • Dev – Misc e2e test fixes #44325
  • Dev – Move the test out of isolation (tax folder) and update it to reflect cart flow #44115
  • Dev – Product Collection: minor E2E test optimisation #44407
  • Dev – Product Filters: update E2E tests after adding Beta label #44564
  • Dev – Revert a workaround updating the mariadb image tag in wp-env #44881
  • Dev – Shard Blocks Playwright test execution #44440
  • Dev – Stabilize a flaky E2E Add to Cart Form test #44639
  • Dev – Stabilize a flaky Price Filter test by addressing the unstable nature of the filter input. #44690
  • Dev – Stabilize the ‘Products can be filtered based on “on sale” status’ E2E test. #44796
  • Dev – This aims to add more checks to confirm that a completed order email is received, as well as its content. #44186
  • Dev – Update onboarding task documentation and fix example command #44026
  • Dev – Updates the test of a virtual product creation functionality with further characteristics #43783
  • Dev – Update the daily test workflow to run e2e tests with sharding #44330
  • Dev – Update WooCommerce Blocks Playwright End to End Tests readme #44468
  • Dev – Workaround for fixing broken wp-env test environment. Force mariadb image tag. #44841
  • Dev – Wrangle MarketingRecommendations as RemoteSpecsEngine #44828
  • Dev – [Experimental] Add beta suffix to new filter blocks in prep for release. #44487
  • Dev – [Experimental] Fix a bug in new attribute filter where we didn’t set the attribute from content panel #44757
  • Dev – [Experimental] Unify class naming in new interactivity stock filter block. #44073
  • Dev – [Experimental] Utilize WP generated class names to style rating filter block. #44072
  • Dev – [Experimental] Utilize WP generated class names when styling new active filters block. #44069
  • Dev – [Product editor block]: Rename the Add button to Publish #44461 #44461
  • Tweak – Adjust spacing in/between elements on the Cart and Checkout block pages. #44160
  • Tweak – Improve tasklist performance and add tasklist id track props #44442
  • Tweak – Product Collection: fix flaky E2E test #44687
  • Tweak – Setup E2E block theme without opening browser and remove obsolete CLI call. #44702
  • Tweak – [Experimental] Filter block: replace custom upgrade panel by Transforms API #44024
  • Performance – Avoid duplicating requests to the /onboarding/themes/recommended and /onboarding/tasks endpoints during the CYS flow. #44179
  • Enhancement – CYS – Add title to the “Product Gallery” pattern. #44556
  • Enhancement – CYS – Core: catch error when font installation fails. #44559
  • Enhancement – Prevent prefilling of the billing address with the shipping address in the Checkout block for the Guest Shopper. #44347
  • Enhancement – Product Collection: enable “Sync with query” option by default only for the first Product Catalog instance, disable for 2nd and next ones #44577

See changelog for all versions.