WooCommerce 是一个能让您售卖任何物品的优雅的免费电子商务插件,它和WordPress一起工作,WooCommerce将完全的控制权赋予店铺所有者和开发者,从而成为了全球最受欢迎的电子商务解决方案。

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.





内置免费配送、一口价配送、实时计算运费等运费计算方式。您可限制配送目的地所在的国家,或者想全世界打开您店铺的门。配送是可以高度配置的,WooCommerce 甚至支持直运。


WooCommerce 内置支持了集中主流的信用卡、PayPal、银行转账以及货到付款。需要更多支付方式?140多种区域性的支付网关已有WooCommerce支付集成插件,包括流行的 Stripe、Authorize.net以及Amazon支付。

You control it all — forever

WooCommerce 让您随心所欲地控制您的店铺,从税到库存到顾客账户。添加和移除扩展,修改网站外观,以及切换您想要的设置,它在您的掌控之下。

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.


Storefront 是一个可用于任意 WooCommerce 店铺的 WordPress 免费主题,它与 WooCommerce 深度集成,Storefront优先考虑速度和运行时间,同时在主要更新期间消除主题和插件冲突。

Define your style even further by customizing Storefront to your liking or choosing from one of our several Storefront child themes. It’s all up to you, and all open source.


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.


WordPress.org 有一些很棒的WooCommerce扩展,包括:

请查看更多?在 WordPress.org 搜索 ‘WooCommerce’吧!

如果您正在寻求由 WooCommerce 开发者认可和维护的东西,这儿有许多付费扩展,最热门的包括:

And there’s plenty more where they came from. Visit our extensions page to find out everything you’re capable of and all that’s possible with premium WooCommerce extensions.


当您下载 WooCommerce 时,您已加入到一个由数百万店主、开发者和 WordPress爱好者组成的社区了。我们是成长最快的在线开源社区之一,无论您是小白还是大牛,我们都欢迎您的到来!

我们已经有350多位贡献者了,并且还缺少您,如果您想对 WooCommerce 有所贡献的话,到 WooCommerce GitHub Repository 请求合并吧。


最后呢,如果确定要加入或者组织一个 WooCommerce 本地聚会,请点击 这里


  • WooCommerce的设置面板。
  • WooCommerce 产品后台。
  • 产品数据面板。
  • WooCommerce 销售报表。
  • 一个产品详情页面。
  • 一个产品归档页面 (网关模式)。



  • PHP version 5.2.4 或更高版本 ( 推荐使用PHP 5.6 或更高版本)
  • MySQL version 5.0 or greater (MySQL 5.6 or greater is recommended)

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


自动安装是最快捷的方式,因为 WordPress 自身即可处理文件传输以及解压,您不需要离开您的浏览器。要自动安装 WooCommerce,仅需登录WordPress后台,点击插件菜单下的安装插件即可。

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 point release, rating and description. Most importantly of course, you can install it by simply clicking “Install Now”.


手动安装方法需要您下载我们的电子商务插件并使用您喜欢的FTP工具上传到您的服务器。WordPress codex 介绍了如何这么做



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.


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 plugin to import sample_products.csv.




想扩展 WooCommerce或者为它写主题,查看我们的 文档


您如果遇到问题,可以在 WooCommerce 插件论坛提问。

For help with premium extensions from WooCommerce.com, use our helpdesk.

WooCommerce 与我的主题兼容吗?

当然,WooCommerce 可以兼容任何主题,但是为了美观性,您可能需要修改下部分样式。请参考我们的文档以获取帮助。如果您在寻找一个支持WooCommerce的主题 ,我们推荐您使用Storefront


您可以在 WooIdeas board投票并申请新的特性和扩展插件


可在 WooCommerce GitHub repository和我们的支持论坛报告BUG.

Rest API文档在哪儿?

API文档在WooCommerce REST API Docs

WooCommerce 很棒!我可以做贡献吗?

是的你可以!加入我们的 GGitHub repository 🙂


dont waste your time

I regret having installed this plugin. all the work of 1 year lost because google does not index the products well. you need valuations, updated price, brand, etc etc, you can not imagine the loss of time and effort that this plugin can cause you. but that's not all, also slows down your website, update late, .... Dont waste your valuable time with woocommerce
Read all 3,206 reviews

Contributors & Developers

“WooCommerce” is open source software. The following people have contributed to this plugin.


“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.


3.5.7 – 2019-03-19

  • Security – Improved the way in which state fields are regenerated by JavaScript to ensure values are properly escaped.

3.5.6 – 2019-03-07

  • Fix – Removes invalid product structured data from archives, and include more data on single product pages. #22925
    Product structured data should only be generated for visible data, and not on archives when there are single
    product pages available, as per the documentation.
    Since this change removes structured data from archives, the filters woocommerce_structured_data_product_limit
    and woocommerce_structured_data_product_limited have also been removed.
    To customize product structured data, for example adding custom fields or include on archives, see this article:
  • Fix – Fix last item in breadcrumb structured data, and include on shop page. #22925
  • Fix – Get insert ID before running actions in _insert_tax_rate. #22868
  • Fix – Add precision to tax in the discount class so min spend checks work correctly. #22888
  • Fix – Update troubleshooting link in failed order email. #22943
  • Fix – Update Flexslider to 2.7.2.
  • Fix – Fill user’s account first name and last name only when those fields are empty. #22783

3.5.5 – 2019-02-20

  • Fix – Fix allow product low stock threshold be the WC settings default. #22777
  • Fix – Fix error on product category when sorting by multiple fields. #22066
  • Fix – Recalculate coupon totals after adding a coupon to an order. #22580
  • Fix – Include refunded orders in top sellers, earners sales by product. #22581
  • Fix – Fix issue where “Any” attributes on variable products not always selectable on front end. #22067
  • Fix – Ensure partial refunds fire order.updated webhooks. #22072
  • Fix – Reload the cart page when the cart is empty. #22114
  • Fix – Always show the price filter widget when filtering products by price. #22303
  • Fix – Added body {padding: 0;} CSS rule to the email-styles.php to fix the iOS emails layout issue. #22309
  • Fix – Update variable product default attributes to reflect attribute terms slug edit. #22398
  • Fix – Adds all 3 callback arguments to the woocommerce_order_item_display_meta_value filter called from the get_formatted_legacy method of the WC_Order_Item_Meta class. #22411
  • Fix – Remove html from add coupon error alert during manual order entry. #22424
  • Fix – Include tax in subtotals when validating coupon minimum and maximum in manual order entry. #22464
  • Fix – Fix ssl check in case shop page no longer exists. #22531
  • Fix – Exclude paged from price slider and rating filter. #22533
  • Fix – Limit bulk variation percentage price adjustment to decimal places in pricing settings. #22537
  • Fix – Fix category image name field to be used for API POST/PUT. #22553
  • Fix – Fix remote request test in get_environment_info(). #22551
  • Fix – Fix notices when images have no metadata or their metadata is removed. #22562
  • Fix – Check for presence of ‘save’ entry in post data when determining whether to save settings. #22572
  • Fix – Additional CSS support for more input types on variations panel in admin. #22590
  • Fix – Over escaping rating widget html. #22593
  • Fix – Update cron sale price removal to remove the price at midnight after the sale ends. #22609
  • Fix – WC_Log_Handler_File::remove – fix for MS Windows #22624
  • Fix – Only require flat shipping rate when shipping method is enabled in the On-Boarding Wizard. #22599
  • Fix – Fix wrong variable check in add_uncropped_metadata. #22638
  • Fix – No alert for mis-matched password reset. #22642
  • Fix – Hold-stock behavior between simple products and variable products was different. #22646
  • Fix – OBW: Offer Storefront when WP 5.0 default theme is active #22649
  • Fix – Add novalidate attribute to payment form to prevent hidden fields preventing submission. #22662
  • Fix – Switch span to paragraph for descriptions in admin user profile view to correct spacing. #22663
  • Fix – Added POST variable check in product data meta box. #22681
  • Fix – PayPal item name encoding. #22684
  • Fix – Move PayPal BN partner ID. #22763
  • Fix – The “for” attribute of a label for a radio input is invalid in woocommerce_form_field. #22690
  • Fix – Custom payment options sections was not loading settings. #22704
  • Fix – Breadcrumbs on custom post types was using the singular name instead of plural. #22705
  • Fix – Fixed generate webhook signature when secret contains special chars. #22722
  • Fix – Set correct item meta after restocking items with refunds. #22729
  • Fix – Sales by Product to consistently calculate net sales counts and amounts. #22711
  • Fix – Importer – Variations cannot be drafts so set to private. #22736
  • Fix – Next/previous links for orders REST endpoint when status query parameter is present. #22741
  • Fix – Default value passed to sorting dropdown #22677
  • Tweak – Updates Mailchimp branding in setup wizard. #22514
  • Tweak – Refactor @id generation for product structured data to prevent plugin conflicts. #22554
  • Tweak – Keep count of the number of times custom coupons apply. #22529
  • Tweak – Change WooCommerce emails footer from Powered by WooCommerce to Built with WooCommerce. #22530
  • Security – Improved escaping for Photoswipe captions.
  • Security – Improved escaping for JSON attributes and structured data.

3.5.4 – 2019-01-21

  • Tweak – Allow limited html in woocommerce_rating_filter_count filter. #21904
  • Tweak – Remove ‘on-hold’ orders from admin tax reports for more logical reporting. #22419
  • Tweak – Remove payment phrases from processing emails. #22418
  • Tweak – Removed display of cost for local pickup when free. #22446
  • Fix – Unescape CSV formulas in product attributes in CSV importer/exporter. #21938
  • Fix – Remove use of non-existing WC_REST_Dev_Setting_Options_Controller class. #22121
  • Fix – Fix edge case where get_plugins would not have the custom WooCommerce plugin headers if get_plugins was called early. #21669
  • Fix – Prevent PHP warning when deprecated user meta starts with uppercase. #21943
  • Fix – Fixed support for multiple query parameters translated to meta queries via REST API requests. #22108
  • Fix – Prevent PHP errors when trying to access non-existant report tabs. #22183
  • Fix – Filter by attributes dropdown placeholder text should not be wrapped in quotes. #22185
  • Fix – Apply sale price until end of closing sale date. #22189
  • Fix – Allow empty schema again when registering a custom field for the API. #22204
  • Fix – Don’t display escaped html on checkout when javascript is disabled. #22214
  • Fix – Fixed formatted address in uppercase for languages that use accents. #22096
  • Fix – Reload the cart page when the cart is empty when there is a hash in the URL. #22114
  • Fix – Do not schedule duplicate webhooks within 10 minutes of each other to maintain previous behavior. #22088
  • Fix – Return correct next scheduled date for items in queue by fixing date instantiation in WC_Action_Queue::get_next(). #22104
  • Fix – Allow products to use default low stock threshold. #22084
  • Fix – Fix 0 value attribute permalink calculation, property population in REST api. #22026
  • Fix – Ensure cache delete on coupon trash or delete. #22053
  • Fix – Ensure product parent exists before getting its image. #22074
  • Fix – Correctly use wildcard character on email restrictions on coupons. #22167
  • Fix – Avoids Warnings in Action Scheduler Library for PHP 5.2. #22160
  • Fix – Don’t include product in BreadcrumbList structured data so Google will recognize stand-alone Product structured data. #22344
  • Fix – Fix Product widget showing hidden products when hide out of stock was enabled. #22230
  • Fix – Run webhook status updates through new wc_is_webhook_valid_status functions when doing API requests. #22205
  • Fix – Correct quote handling in tax class names. #22270
  • Fix – Prevent style side-effects on notices on the Extensions pages. #22330
  • Fix – Check stock status of items when ‘ordering again’ from the account page. #22331
  • Fix – Improve rounding when rounding at subtotal level in cart. #21217
  • Fix – Restores an opportunity to print non-cart related notices that a few extensions are relying on. #22337
  • Fix – Correct order item meta alignment in order emails when using an RTL language. #22376
  • Fix – Fix bug where product status was erroneously going to draft status in some circumstances on new published variable products. #20667
  • Fix – Load customer data for logged in users regardless of being member of sub-site to avoid errors. #22448
  • Fix – Use slug sanitization on product export category slugs for better foreign character support. #22320
  • Fix – Correct item subtotal rounding when multiple taxes are applied so it matches the cart. #22416
  • Fix – Prevent fatal errors when retrieving network orders for sites that do not have WooCommerce activated. #22439
  • Fix – Numerous bug fixes around checkout field locales on first load. #22444
  • Fix – Correct position of admin notices on my-account pages. #22445
  • Fix – Fixed padding of addresses in email template. #22466
  • Fix – Prevent payment method descriptions sliding up/down if selected after ajax updates. #22459
  • Fix – Fixed formatted address in uppercase for languages that use accents. #22096
  • Fix – Fix product updating on import for SKUs with special characters. #22071
  • Fix – Ensure cache_delete on coupon deletion. #22053
  • Fix – Make product edit form aware publish was pressed. #20667
  • Fix – Unescape imported CSV formulas in product attributes. #21938
  • Fix – Warning when deprecated user meta starts with uppercase. #21943
  • Fix – Filter out buttons from the onRowClick event on the Orders list view page. #21966
  • Fix – Update “Filter Products by Attribute” widget when product stock quantity changes via “Quick Edit” or WC API. #22029
  • Fix – Ensure product parent exists before getting its image. #22074
  • Fix – Fixed support for multiple query parameters translated to meta queries via REST API requests. #22108
  • Fix – Strip hash from URL when reload refunds in the dashboard. #22116
  • Fix – Prevent notice when using non existing value for tabs in WooCommerce > Reports > Stock. #22183
  • Fix – Filter by attributes dropdown placeholder text wrapped in quotes. #22185
  • Fix – Fix escaped html on checkout when javascript is disabled. #22214
  • Fix – Allow empty schema again when registering a custom field for the API. #22204
  • Fix – Fix import & export of newline characters in product description fields. #22298
  • Fix – Allow quotes in tax class names. #22270
  • Fix – Sale price applies to end of closing sale date. #22189
  • Fix – Product export by unicode product categories. #22320
  • Fix – Check stock status of items when ‘ordering again’ from the account page. #22331
  • Fix – Issue where images offloaded to external servers caused errors and broken images when changing aspect ratios. #22461
  • Fix – Remove block comments from shop page description. #22334
  • Dev – REST API – 0 value attribute permalink calculation, property population in REST api. #22026
  • Dev – REST API – Fixed support to order results by slugs. #22168
  • Dev – REST API – Removed extra inherited filters from product endpoint in variations endpoint. #22452

3.5.3 – 2018-12-20

  • Fix – Fix orders list in the admin after a change introduced in WordPress 5.0.2. #22273

3.5.2 – 2018-11-29

  • Enhancement – Added compatibility for Twenty Nineteen theme. #21970
  • Update – Prepare WooCommerce for PHP 7.3. #22009
  • Tweak – Updates the signature field type to “password” in PayPal settings for increased security. #21715
  • Tweak – Change the filter name in the /myaccount/lost-password-confirmation.php template to differentiate between other filter with same name and different message. #21829
  • Tweak – Reintroduce Preview button by popular demand with the understanding that the Preview will only work on some product fields. It was removed from pubished products in 3.5.0 to prevent confusion. #21838
  • Tweak – Add tool to systems status tools for running the DB update routine. #21923
  • Tweak – Revert default behavior for woocommerce_formatted_address_force_country_display filter to maintain backwards compatibility. #21865
  • Tweak – Update products block notice for WP 5.0. #21930
  • Tweak – Use wp_kses_post instead of esc_html for sanitizing product titles to allow minimal HTML in product titles. #21936
  • Tweak – Use dedicated woocommerce_add_order_again_cart_item to filter cart item data when ordering again. Prevents issues with applying woocommerce_add_cart_item out of context. #21947
  • Tweak – Remove postal code for Angola, São Tomé and Príncipe since they don’t use postal codes and update locale info. #21984 #21985 #21987
  • Fix – Metadata with array key of 0 can save properly. #21641
  • Fix – Prevent deleting the default product category via REST API. #21696
  • Fix – Fix ‘Table does not exist’ messages on System Status Report in multisite. #21706
  • Fix – Add dynamic SSL check to dashboard SSL notice to prevent misdiagnosing that sites aren’t set up with SSL. #21738
  • Fix – Don’t show escaped HTML in admin order item details for fees. #21769
  • Fix – Don’t include draft variable products in on sale product results. #21778
  • Fix – Add woocommerce_hold_stock_minutes check back to stock check in cart/checkout. #21797 #22050
  • Fix – Fix potential undefined index notice on checkout fields when comparing the sort order. #21801
  • Fix – Throw an error when trying to set a variation as the parent of a variation in the CSV importer. #21810
  • Fix – Make “account erasure request” text translatable. #21812
  • Fix – Display notices on Order Pay page. #21821
  • Fix – Fix tax rate uploading by file path. #21831
  • Fix – Make wc_download_log_permission_id constraint creation work better on multisites and multiple sites using the same DB. #21836 #21940
  • Fix – Don’t render undecoded HTML entities in variations dimensions. #21844
  • Fix – Do not check for stock when not managing stock or have backorders enabled when paying through the order-pay page. #21849
  • Fix – Apply priority field sorting on additional filters to make it apply on the edit address pages as well. #21856
  • Fix – Fix export and edit of attribute labels with html encoded special characters in product CSV exporter. #21864
  • Fix – Prevent fatal error when rendering plaintext customer invoice email. #21879
  • Fix – Prevent fatal error when delivering webhooks using v3 API. #21921
  • Fix – Prevent undefined variable notice in wc_increase_stock_levels. #21928
  • Fix – Fix overescaping image output on product widget. #21929
  • Fix – Croatian Kuna symbol should be lowercase. #21934
  • Fix – Fixed an error when deleting logged entries when using the ‘WC_Log_Handler_DB’ handler. #21949
  • Fix – Update ShipStation plugin info so install works through setup wizard. #21953
  • Fix – Use dynamic DB table name in product list table shipping class query. #21954
  • Fix – Log file date/time should be in UTC and not site timezone as per the +00:00:00 string appended to it. #21981
  • Fix – Set customer’s country to selling country when only selling to one country and default customer location is ‘none’. #21995
  • Fix – Change new account email copy to be compatible with auto-generated accounts. #21999
  • Fix – Correct Aria-Labelledby attribute for quantity selectors. #22000
  • Fix – Show notices on lost password page. #22001
  • Fix – Fix authentication errors when using the REST API with 3rd-party authentication. #22013
  • Fix – Fix issues where potentially not all active plugins were included on the system status report. #22057
  • Fix – Make PDT validation use the same rounding as the IPN validation to prevent erroneous totals mismatch. #21729

3.5.1 – 2018-10-31

  • Fix – Use CRUD method to get product images to fix custom tables missing images. #21608
  • Fix – Use HTML entity for times sign when outputting dimensions to fix RTL support. #21633
  • Fix – Fix India address format to look nice in the shipping calculator. #21647
  • Fix – Don’t default gallery variation images to gallery thumbnail size if flexslider is disabled. #21655
  • Fix – Revert show shipping behavior change to prevent missing shipping line on Cart page. #21658
  • Fix – Removed non-existing WC_Product_Simple->set_date_created_gmt method. #21675
  • Fix – Use correct comment_type when fetching recent reviews for widget. #21689
  • Fix – Do not include strong tags as part of translation string on subscriptions disconnect message. #21690
  • Fix – Make it possible to send webhooks with the v3 API. #21745
  • Fix – Fix get_cart_from_session infinite loop when filters used. #21749
  • Fix – Use array instead of string to define class for address line 2 input on checkout. #21757
  • Fix – Make checkout fields priority work correctly again. #21763
  • Tweak – Remove mentions of deprecated live shipping rates from setup wizard. #21645
  • Tweak- Update product block editor hook for WP 5.0. #21703
  • Tweak – Merged similar strings to reduce number of translateable strings. #21704
  • Tweak – Remove hated “Over to you” text from emails. #21709
  • Tweak – Revert problematiic customer as post author change. #21740

3.5.0 – 2018-10-17

  • Feature – REST API v3. #20111
  • Feature – Option has been added on the inventory tab of the edit product page to set a low stock threshold for individual products. #20260
  • Feature – Add ability to export products by category to the CSV exporter. #20870
  • Feature – Ability to define custom product placeholder images that will resize to correct store aspect ratio. #20644
  • Enhancement – Excluded children categories from WP_Query in product shortcode if cat_operator=AND. #20207
  • Enhancement – Add anchor tag example to email template preview. #20246
  • Enhancement – Introduce is_paypal_supported_currency check in setup wizard. #20244
  • Enhancement – Payment method table reordering accessibility. #19844
  • Enhancement – Log errors from transaction emails with logger. #20203
  • Enhancement – Improved shipping calculator experience. Shows destination country and added context to calculate shipping link. #20345
  • Enhancement – On the fly image generation for frontend, if image sizes are missing. #20011
  • Enhancement – SelectWoo enabled product categories dropdown widget. #20617
  • Enhancement – Make it easier to read and act upon the outdated template notice. #20732
  • Enhancement – Styled date, time, etc. inputs in admin to match styling of other inputs. #21013
  • Enhancement – Show update notices on the System Status page for WordPress.org hosted Official WooCommerce extensions. #21073
  • Enhancement – Better wording for transactional emails. #21288
  • Fix – Check billing email is posted before using in WC_Cart::check_customer_coupons. #20180
  • Fix – Shipping postcode formatting when only posting a billing address. #20330
  • Fix – Correctly show/hide save card checkbox on tokenization form. #20506
  • Fix – orderby and order parameters in WC_Customer_Download_Log_Data_Store::get_download_logs() were ignored. #20931
  • Fix – Unslash city name to prevent double escape in tax settings. #21205
  • Fix – Updated phone validation logic. #21188
  • Fix – Fix weight and dimensions cache of variable products if childs doesn’t have any of those params. #21244
  • Fix – Correctly replace images in the woocommerce_uploads folder with the placeholder image. #20848
  • Fix – Show parent variable product in shipping class admin screen when variation has shipping class. #21278
  • Fix – Correctly excluded administrators from “Customer list” report. #21304
  • Fix – Update quick edit logic to show/hide Stock qty and Backorders fields. #21301
  • Fix – Fix Layered Nav Widget where special HTML entities did not display correctly in the “Any %s” string. #21312
  • Fix – Set the is_checkout javascript parameter on any page that uses the checkout filter or shortcode. #21328
  • Fix – Fix cron_interval property support in WP_Background_Process. #21353
  • Fix – CSS Changes to make text fields line up on the shipping settings page. #21247
  • Fix – Add extra null check to fix an issue with select payment fields using disabed select as placeholders. #21391
  • Fix – Don’t modify attributes orderby when sorting by name. #21408
  • Fix – Allow saving a stock quantity of 0 using quick edit. #21447
  • Fix – Change the query used to save session data to the database to protect against deadlocks. #21455
  • Fix – Make sure default category tooltip is rendered when the image column is deactivated. #21410
  • Fix – Fix warning when using logger instance in woocommerce_logging_class filter. #21448
  • Fix – Use uppercase “ID” when sorting product queries by ID. #21461
  • Fix – Consistently escape the gateway ID in the checkout payment method template. #21439
  • Fix – Avoid treating HTTP 301 and 302 codes as failures for webhooks. #21491
  • Fix – Add address_1 to shipping packages info in WC_Cart:: get_shipping_packages to make it work correctly in address formatting functions. #21493
  • Fix – Don’t fire two of the same action when saving shipping settings. #21494
  • Fix – Remove double condition for address line 2 in WC_Countries::get_default_address_fields. #20629
  • Fix – Correctly handle shorthand values for memory_limit in php.ini. #21557
  • Fix – Product shortcode numeric term slug matching. #21560
  • Fix – Remove the erasure tools links from the descriptions of the erasure settings for users without the manage_privacy_options capability. #21565
  • Fix – Don’t double urldecode posted variation attributes. #21570
  • Fix – Don’t double-sanitize cart images. #21574
  • Fix – Check if ID exists and is not empty before set Product’s download ID in API. #21588
  • Fix – Ensure wp_list_pluck() gets a array and not possibly null in WC_Product_Data_Store_CPT::update_attributes. #21591
  • Fix – Trim CSV header rows to prevent leading/trailing whitespace issues. #21614
  • Fix – Show draft products in previews on unsupported themes. #21619
  • Fix/Tweak – Fire woocommerce_grant_product_download_access hook after the download has its ID set. #20905
  • Fix/Tweak/Performance – Change wp_woocommerce_sessions primary key to session_id. #21245
  • Tweak – Show empty terms in admin product category filter dropdown. #20324
  • Tweak – Don’t force default token gateway active by default. #20125
  • Tweak – Move notice output to hooked in functions. #19794
  • Tweak – Apply order bulk actions in chronological order. #20338
  • Tweak – Updated Emogrifier to 2.0. #20547
  • Tweak – Avoid using wp.template (eval) in add-to-cart-variation.js. #19496
  • Tweak – Hide Preview button when creating new products, as most fields aren’t set up for it. #20650
  • Tweak – For guests, store all address fields to the session whilst placing an order. #20665
  • Tweak – Removed ‘ajax_add_to_cart’ class from ‘Read more’ button. #20690
  • Tweak – Removed unnecessary checkout form change trigger on load of the checkout page. #20655
  • Tweak – Add image size filters to wc_get_product_attachment_props(). #20722
  • Tweak – Only display the current site’s tables for a multisite install when viewing the system status. #20731
  • Tweak – include the file path and line number where a fatal error occurred in the fatal errors log. #20787
  • Tweak – Cast tax rate to float so that it can be treated as number further on in the code. #20910
  • Tweak – Send webhooks using Action Scheduler. #20030
  • Tweak – Update customer’s ip address on successful payment. #21038
  • Tweak – Changed wc_clean to checking for valid utf8 for line items and password. #20993
  • Tweak – Add to cart notice actions (View cart/Continue shopping) now have tabindex 1 for improved accessibility. #21108
  • Tweak – Remove icanhazip from geolocation services. #21198
  • Tweak – Remove unnecessary aria-required attributes from product reviews template. #21211
  • Tweak – Added hidden label for screen readers on checkout address line 2 input. #21193
  • Tweak – Remove empty space in mini-cart template. #21261
  • Tweak – Tax display in cart now depends on whether customer is tax exempt. #21292
  • Tweak – Change sort dropdown option “Sort by newness” to “Sort by latest”. #21311
  • Tweak – Sanitize endpoint slugs upon saving. #21355
  • Tweak – Ignore converting float meta value for registered post meta. #21333
  • Tweak – Remove ‘order_again’ query string to avoid multiple re-orders. #21444
  • Tweak – Remove Netherlands Antilles from the North America continent definitions. #21449
  • Tweak – Display label and meta on the same line in order emails to match frontend Order Details styling. #21456
  • Tweak – Use wp_get_upload_dir for geolite DB path. #21550
  • Performance/Tweak – Use post_author for the order customer instead of ‘_customer_user’ meta data. #17895
  • Performance – Exclude frontend include from REST API calls. #20000
  • Performance – Improve performance of the query to delete version transients by removing unneeded “ORDER BY”. #21274
  • Dev – REST API – Allows oAuth1.0a authentication under SSL.
  • Dev – REST API – Fix position param for images. #20497
  • Dev – REST API – Handle children products deletion regardless of type. #20670
  • Dev – Added woocommerce_increase_coupon_usage_count and woocommerce_decrease_coupon_usage_count action hooks to increase extensibility of Coupons. #19981
  • Dev – Add endpoints to account menu items filter. #19980
  • Dev – Added qty param to wc_add_to_cart_message filter. #19817
  • Dev – Added woocommerce_search_products_ids filter. #20160
  • Dev – Introduced woocommerce_cart_calculate_shipping_address field to allow manipulation of cart shipping calculator data. #20046
  • Dev – Introduced woocommerce_shipping_calculator_enable_country filter. #20046
  • Dev – Pass product id to backorder notification. #20416
  • Dev – Added woocommerce_cart_shipping_total filter to control shipping display. #20591
  • Dev – Refactor “Order again” handling to separate logic better. #20606
  • Dev – Added ‘woocommerce_products_admin_list_table_filters’ filter to make it easier to customize the products list table filters. #20634
  • Dev – Added woocommerce_shipping_method_add_rate_args and woocommerce_shipping_method_add_rate filters. #20633
  • Dev – Added woocommerce_coupon_validate_user_usage_limit filter. #20630
  • Dev – Add hooks needed for product custom tables feature plugin. #20520
  • Dev – Added new filter to ‘Item in quotes’ translation for messages. #20714
  • Dev – Add ‘woocommerce_shutdown_error’ hook triggered on request termination with an error. #20787
  • Dev – New filter ‘woocommerce_admin_meta_boxes_variations_count’ to customize the shown count of variations. #21067
  • Dev – Added ability to query products that have a field set in wc_get_products/WC_Product_Query using the wildcard symbol ‘*’. #21162
  • Dev – Added a JavaScript events before and after the order total recalculation on the Edit Order page. #21181
  • Dev – Check for needs_payment instead of has_status( 'pending' ) in PayPal PDT handler for custom order status support. #21200
  • Dev – Added form action hooks for edit account and login templates. #21248
  • Dev – Add action for when system tools are run. #21270
  • Dev – Add – woocommerce_restock_refunded_items filter to control default state of the restock option when refunding items on an order. #21314
  • Dev – Add an extensible/swappable job queue via WC_Action_Queue and WC_Queue_Interface. #20030
  • Dev – Use WC_Action_Queue for schedule and delivery of webhooks. #20030
  • Dev – Include Action Scheduler v2.1.0 and use it for the default job queue. #21424 / #20030
  • Dev – Save reviews under the ‘review’ comment type. #21305
  • Localization – Updated IT provinces. #20286
  • Localization – Eircode validation. #20330
  • Localization – Disable postcode requirement for Bahrain. #21103
  • Localization – Make postcode field optional and hidden for Nigeria and label State. #21056
  • Localization – Make Romania state selection mandatory. #21180
  • Localization – Make city field optional and hidden for Singapore addresses. #21016