Description
WooCommerce is a flexible, open-source eCommerce solution built on WordPress. Whether you’re launching a business, taking an existing brick and mortar store online, or designing sites for clients you can get started quickly and build exactly the store you want.
Activate the free WooCommerce plugin on a new or existing WordPress site, follow the optional guided tour, and set up a new store in minutes with:
- Product, Cart, and Checkout pages
- Secure payments by credit card and alternatives
- Configurable shipping options, including flat rates and label printing
- Integrate content and commerce across your site via modular blocks
- Automated tax calculations
- Google Analytics, MailChimp, and Facebook integration
- Central store dashboard with key metrics, and more.
Beyond the basics, WooCommerce is fully customizable and extendable:
- Choose a design to suit your brand and industry.
- Enhance your store with free and paid extensions: add features and integrate with local and global eCommerce web services.
- Inspect and modify any aspect of the core plugin code.
- Leverage hooks and filters to modify functions.
- Build on top of the REST API and webhooks.
Open-source freedoms mean full ownership of content and data forever – plus the expertise of a friendly global community.
WooCommerce is built to allow store managers to run an eCommerce site themselves, no web developer needed. There is also a free WooCommerce mobile app (Android and iOS) for store management on the go.
WooCommerce is developed and supported by Automattic, the creators of Jetpack and WordPress.com, along with independent contributors. The official extension marketplace is on WooCommerce.com.
From subscriptions to gym classes to luxury cars
With WooCommerce, you can sell both physical and digital goods in all shapes and sizes, offer product variations, complex configurations, and instant downloads to shoppers; and even sell affiliate goods from online marketplaces.
And those are just the out-of-the-box options. With paid extensions, you can extend your WooCommerce store to take bookings, offer memberships, set up recurring payments by subscription, create dynamic pricing rules, and much more.
Start a monthly wine subscription box, offer a discount on yoga mats to members who’ve attended 10+ classes, offer configurable hampers or personalized jewelry – it’s all possible with WooCommerce.
Comprehensive payment options
WooCommerce comes bundled with the ability to accept major credit cards, alternative payment methods, BACS (bank transfers), and cash on delivery.
For additional options, WooCommerce also integrates with more than 140 region-specific gateways including popular choices like Stripe, PayPal, Square and Amazon Pay. Apple Pay and Google Pay are also supported.
Search for your payment service provider of choice on the official marketplace.
Ship locally and globally
Shipping with WooCommerce is highly configurable. Adjust the built-in settings to offer free shipping or flat rate shipping, limit your shipments to specific countries by setting up shipping zones, or open your store up to the world.
Official extensions connect you with hundreds of local and international carriers – including Royal Mail, FedEx, and Australia Post – and let you integrate with inventory management and fulfilment providers.
There are also extensions available to add delivery and shipping options and support strategies like buy-one-get-one free, free gifts, and add-ons. WooCommerce Shipping supports real-time calculations and printing labels at home.
Design your store with themes and blocks
WooCommerce store design starts with a theme of your choice. There are hundreds of free and paid themes available, including Storefront by Automattic — it’s free to all stores and you can choose to have it installed for you during the guided setup.
Storefront offers deep WooCommerce integration and prioritizes speed and uptime. You can add your brand and define your style by customizing Storefront yourself or adding one of several industry-themed Storefront child themes.
Personalize your store’s design even more with WooCommerce Blocks (available in WooCommerce 3.6 and above) — use them to add selections of or single products to any page, for a seamless blending of commerce into content.
Customize your store with extensions
The easiest way to add features and functionality to a WooCommerce store is with an extension:
- Sell anything – Subscriptions, Memberships, Bookings, Product Bundles, and more.
- Make your store, your way – Product Add-Ons, Checkout Field Editor, Additional Variation Images, and more.
- Customize your shipping options – Table Rate Shipping, Shipment Tracking, live rates from top carriers, and more.
- Find your audience, market to them your way – Google Product Feed, LiveChat, Amazon/eBay marketplace integration, and more.
- Drive sales – Dynamic Pricing, Smart Coupons, Google Ads, and more.
There are hundreds of official extensions reviewed by WooCommerce developers available on the WooCommerce.com marketplace, and many in the WordPress.org repository and on the wider web.
Control your data forever
WooCommerce gives you complete control – from taxes to stock levels to customer accounts. Add and remove extensions, change your store’s design, and switch themes or hosts or payment service providers, all as you please.
In a world increasingly aware of the importance of data protection, WooCommerce gives you full ownership over what is tracked and stored. If you opt to share usage data with us, your data is anonymized and kept secure. At any stage, you can opt out of all forms of tracking while still enjoying all of WooCommerce’s capabilities.
With WooCommerce, your data belongs to you. One of the risks of using a hosted eCommerce platform the risk of losing your store if the provider closes. WooCommerce store data is future-proof — you’re are free to export all your content and take your site wherever you choose.
Why developers like WooCommerce
WooCommerce was originally created with developers in mind. Built with a REST API, it integrates with virtually any service. Store data can be accessed anywhere, anytime, 100% securely.
WooCommerce allows developers to easily create, modify, and scale a store that meets client’s specifications, and to make enhancements either with extensions or with customs solution.
No matter the size of the store you want to build, WooCommerce has a robust framework that supports stores from basic to enterprise – with content and commerce in a single, central location.
WooCommerce is audited by a dedicated team of developers who work across time zones to identify and patch any and all discovered bugs. There is comprehensive, easily-accessible documentation that is updated with each release. With our docs, you’ll learn how to create the site your client needs.
Join our growing community
WooCommerce is one of the fastest-growing eCommerce communities. We’re proud that the helpfulness of the community and wealth of resources available online are frequently cited as reasons our users love it.
There are 80+ WooCommerce Meetups taking place in cities across the world that you can attend for free and even get involved in running. WooCommerce also has a regular presence at WordCamps across the globe – and we’d love to meet you.
If you’re interested in contributing to WooCommerce we’ve got more than 350 contributors, and there’s always room for more. Head to the WooCommerce GitHub Repository to find out how you can pitch in.
WooCommerce is currently 100% translated into 24 languages, including Danish, Ukrainian, and Persian. If you’re interested in helping to localize WooCommerce by adding your local language, visit translate.wordpress.org.
Contributors & Developers
“WooCommerce” has been translated into 55 locales. Thank you to the translators for their contributions. Translate “WooCommerce” into your language.
INTERESTED IN DEVELOPMENT?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Screenshots
Blocks
This plugin provides 17 blocks.
- woocommerce/price-filter
- Filter Products by Price
- woocommerce/attribute-filter
- Filter Products by Attribute
- woocommerce/active-filters
- Active Product Filters
- woocommerce/product-search
- Product Search
- woocommerce/featured-category
- Featured Category
- woocommerce/product-categories
- Product Categories List
- woocommerce/handpicked-products
- Hand-picked Products
- woocommerce/product-category
- Products by Category
- woocommerce/product-best-sellers
- Best Selling Products
- woocommerce/all-products
- All Products
- woocommerce/product-tag
- Products by Tag
- woocommerce/featured-product
- Featured Product
- woocommerce/product-on-sale
- On Sale Products
- woocommerce/reviews-by-product
- Reviews by Product
- woocommerce/all-reviews
- All Reviews
- woocommerce/reviews-by-category
- Reviews by Category
- woocommerce/product-new
- Newest Products
Installation
Minimum Requirements
- PHP 7.2 or greater is recommended
- MySQL 5.6 or greater is recommended
Visit the WooCommerce server requirements documentation for a detailed list of server requirements.
Automatic installation
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
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 our user guide
For extending or theming WooCommerce, see our 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.
For help with paid extensions from WooCommerce.com, use our helpdesk.
- Will WooCommerce work with my theme?
-
Yes! WooCommerce will work with any theme, but may require some styling. Please see our codex for help. If you’re looking for a theme with built in WooCommerce integration we recommend Storefront.
- Where can I request new features, eCommerce themes, and extensions?
-
You can vote on and request new features and extensions on our WooIdeas board
- Where can I report bugs or contribute to the project?
-
Report bugs on the WooCommerce GitHub repository. You can also report them in our support forum.
- Where can I find the REST API documentation?
-
You can find the documentation of our REST API on the WooCommerce REST API Docs.
- WooCommerce is awesome! Can I contribute?
-
Yes you can! Join in on our GitHub repository.
Reviews
Contributors & Developers
“WooCommerce” is open source software. The following people have contributed to this plugin.
Contributors“WooCommerce” has been translated into 60 locales. Thank you to the translators for their contributions.
Translate “WooCommerce” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
4.0.1 – 2020-03-18
WooCommerce
* Enhancement – Update Action Scheduler to 3.1.4. #25966
* Enhancement – Bump Woocommerce Admin dependency to version 1.0.2. #25961
* Enhancement – Update dependency woocommerce/woocommerce-admin to v1.0.3 #25975
* Fix – Add usage_count
meta before using it in a query. #25882
* Fix – Corrected argument type validation in plugin installer API. #25858
* Fix – Use standard admin_url
function instead of absolute path. #25884
* Fix – Reverted the performance optimization made to variation saving. #25950
* Fix – Send dummy params to evaluate_cost method to detect validation errors. #25946
* Fix – Made the package shipping check more permissive. #25916
* Fix – Fix admin notes table does not exist errors when upgrading to 4.0.x. #25891
WooCommerce Admin
* Enhancement – Onboarding: business step: add Google Ads extension install.
* Tweak – create database tables on an earlier hook to avoid conflicts with core WooCommerce.
* Fix – Add Report Extension Example: Add default props to ReportFilters.
* Fix – Product report sorting by SKU when some products don’t have SKUs.
* Fix – type warning on install timestamp in PHP 7.4.
* Fix – PHP error when WooCommerce core is Network Active on Multisites.
* Fix – missing database table errors on WooCommerce upgrade.
* Fix – undefined const WC_ADMIN_VERSION_NUMBER
when WP < 5.3
* Fix – Made the admin note loading more resilient to prevent failures when loading notes with invalid content_data. #3926
* Fix – Removed replace_actionscheduler_store_class
function. #3936
* Fix – Rename Google Shopping image asset. #3931
* Fix – Fix calling protected has_satisfied_dependencies
on outdated plugin. #3938
* Dev – Add Changelog script.
* Dev – Fix failing tests after WC core merge.
* Dev – Bump WooCommerce tested up to tag.
* Dev – Update prestart script so readme.txt stable tag is updated.
Action Scheduler
* Fix – Re-create tables if needed on Scheduled Actions screen load. #492
* Fix – Add null action check on Scheduled Actions screen list rows. #493
* Fix – Fix context on ignored action log message. #481
* Fix – Restore scheduled action row and bulk action processing on WooCommerce Status screen. #487
* Fix – Include logs table re-create missed in #492. #495
* Fix – Ensure valid table name in save action. #498
4.0.0 – 2020-03-10
- Enhancement – Included information about packages in the System Status Report. #25584
- Enhancement – New WooCommerce Admin. #25011
- Enhancement – Update dependency woocommerce/woocommerce-blocks to v2.5.12 #25587
- Enhancement – Updated Action Scheduler to 3.0.1. #25566
- Enhancement – Update dependency woocommerce/woocommerce-admin to v0.25.1. #25620
- Enhancement – Update dependency woocommerce/woocommerce-blocks to v2.5.13. #25696
- Enhancement – Added the WC Admin enabled db update notice. #25736
- Enhancement – Update Action Scheduler to version 3.1.1. #25745
- Enhancement – Update dependency woocommerce/woocommerce-blocks to v2.5.14. #25807
- Enhancement – Update dependency woocommerce/woocommerce-admin to v1.0. #25822
- Enhancement – Update dependency woocommerce/action-scheduler to v3.1.2. #25859
- Performance – Improved the client-side preparation for variation saving. #25382
- Tweak – Enhance order details and payment summary. #25504
- Tweak – Increase new onboarding group test to 50%. #25501
- Tweak – Increased range and precision for
min_price
andmax_price
in the product meta lookup table. #25253 - Tweak – Move action scheduler to external via composer. #25404
- Tweak – Only update the customer IP address when order gets created from admin. #25137
- Tweak – Remove WooCommerce Admin install alert. #25502
- Tweak – Removed WC Admin from the Setup Wizard if it’s already active. #25562
- Tweak – Set email header table width to 100% for full width. #25294
- Tweak – Simplified MaxMind integration title. #25522
- Tweak – Update ‘Country’ to ‘Country / Region’ label. #25530
- Tweak – WooCommerce.com plugins auto-install and update improvement. #25532
- Fix – Add missing closing tag. #25319
- Fix – Added validation to the cost field for flat rate shipping. #24919
- Fix – Address in shipping calculator malformed for Canada. #25149
- Fix – Adjusted package shipping rates to only be visible when a full address is entered. #25128
- Fix – Check for WooCommerce Admin feature plugin class before adding install notice. #25395
- Fix – Corrected the performance issues caused by the Cash-On-Delivery plugin’s initialization process. #25512
- Fix – Duplicate webhook deliveries. #25183
- Fix – Fix fatal error that would occur when calling the WC_Payment_Gateways::set_current_gateway() function and there is no WC session. #25322
- Fix – Fixed adding multiple items to cart from any product listing page. #24818
- Fix – Fixed get_discount function return type. #25567
- Fix – Fixed possible multiple is_vat_exempt order meta in order creation. #25426
- Fix – Fixed wrong context help for translators. #25496
- Fix – Make
WC_Shipping::is
package shippable less strict. #25386 - Fix – Prevent undefined
wp_delete_user()
error while removing inactive accounts. #25489 - Fix – Removed constants and autoloader from the uninstall script. #25589
- Fix – Removed the lowercase conversion for product search terms that caused incorrect results to case sensitive searches. #25314
- Fix – Restored the default behavior of “Shipping destination” option. #25571
- Fix – Set image CSS on emails to be
max-width: 100%
so that they don’t break the email template. #24764 - Fix – Setup wizard shipping setup verification logic correction. #25540
- Fix – Fixed typo in label. #25645
- Fix – Added the missing “bestRating” and “worstRating” params to structured schema data. #25667
- Fix – Replaced deprecated Jetpack::is_staging_site call. #25670
- Fix – Avoid
Automattic\Jetpack\Constants
in main woocommerce class. #25697 - Fix – Change the namespace of the WC Admin Package class and update WC Admin package. #25701
- Fix – Unmark completed AS migration during the update to make sure AS migration happens. #25707
- Fix – configure Jetpack plugin before trying to connect/register. #25742
- Fix – Check configure exists before calling to support older JP versions. #25747
- Fix – Prevent edited attribute notice being hidden by new dashboard. #25757
- Fix – Corrected the cache invalidation behavior of order item CRUD actions. #25734
- Fix – Don’t show duplicated update notifications on Woo Screens. #25828
- Fix – Escape MaxMind database URL. #25682
- Fix – System status report should correctly identify inactive package. #25830
- Dev – Added support for placeholder attribute in quantity inputs. #25418
- Dev – Added
tax_status
andtax_class
columns to the product meta data lookup table. #25428 - Dev – Introduced
woocommerce_top_rated_widget_args
filter. #25320 - Dev – Introduced
woocommerce_admin_process_variation_object
hook. #24929 - Dev – Added actions before and after grouped product list to allow adding custom rows. #25093
- Dev – Added filter to tweak whether a product has enough stock while attempting to pay for an order. #25230
- Dev – Added the
automattic/jetpack-constants
package and replace PHP constant definition checks with it. #25516 - Dev – Added a
triggerHandler
calledcheckout_place_order_success
on a successful order during the checkout process. #25289 - Dev – Allow filtering of default meta value inside
WC_Data::get_meta
even if meta key not found. #24066 - Dev – Includes Emogrifier composer package instead of including into
includes/libraries
. #25525 - Dev – Introduce
WC_Countries::get_vat_countries
for returning a list of countries that uses VAT and refactorWC_Countries::get_european_union_countries
with backward compatibility and deprecation to remove the VAT functionality from there. Brexit, remove GB fromWC_Countries::get_european_union_countries
. #24943 - Dev – Introduced
woocommerce_download_product_filepath
filter. #25485 - Dev – Introduced
woocommerce_email_content_type
filter. #25405 - Dev – Updated
woocommerce_email_from_name
andwoocommerce_email_from_address
filter arguments to includewp_email()
default data. #25405 - Dev – Introduced
woocommerce_shortcode_products_query_results
filter. #25573 - Dev – Removed
hash_equals()
polyfill as it was no longer needed. #25474 - Dev – Removed unused
.order-actions
CSS. #25581 - Dev – Applies woocommerce_maxmind_geolocation_database_path in MaxMind database migration. #25681
- Dev – Support both .data() and .dataset for formdata in add to cart requests. #25726