WooCommerce

描述

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

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

Sell anything, anywhere

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

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

Ship wherever you like

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

Extensive payment options

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

You control it all — forever

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

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

Define your style with Storefront

Storefront is a free WordPress theme available to any WooCommerce store. Along with deep WooCommerce integration, Storefront prioritizes speed and uptime while eliminating theme and plugin conflicts during major updates.

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

Built with developers in mind

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

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

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

如果安全性是您考慮的一個問題,請放心。WooCommerce經過專門的開發人員團隊審核,他們全天候進行工作,以識別和修補任何和所有已發現的錯誤。

我們還支援WooCommerce及其所有擴充功能,而且包含全面、易於訪問的文檔。通過我們的文檔,您將了解如何確切地建立客戶需要的網站。

Extensions galore

在 WordPress.org 您可以找到很多精彩的WooCommerce擴充功能,包括:

想看到他們全部?快來搜索 WordPress.org 的「WooCommerce」!

如果你正在尋找由建立WooCommerce的開發人員認可和維護的擴充功能,這裏有大量的付費電子商務擴充功能,其中最受歡迎的包括:

而且還有更多。 訪問我們的擴充功能頁,了解您能夠使用的所有功能以及使用高級WooCommerce擴充功能可能實現的一切。

Join our growing community

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

如果你有興趣貢獻WooCommerce,我們有超過350個貢獻者,而我們總希望找到更多。 請瀏覽 WooCommerce GitHub 代碼庫,了解更多。

想要向WooCommerce添加新語言嗎?你可以到 translate.wordpress.org 幫助我們。

最後,請考慮加入或主持在本地的WooCommerce聚會,相關事宜請按此處

螢幕截圖

  • The WooCommerce settings panel.
  • WooCommerce products admin.
  • Product data panel.
  • WooCommerce sales reports.
  • A single product page.
  • A product archive (grid).

安裝

最低要求

  • PHP version 5.2.4 or greater (PHP 7.2 or greater is recommended)
  • 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控制台,瀏覽到外掛選單,然後單擊添新增。

在搜尋欄位中鍵入“WooCommerce”,然後點擊搜索外掛。 一旦你找到我們的電子商務外掛,你可以查看它的詳細資訊,如版本,評級和描述。 最重要的是,你可以通過點擊「立即安裝」來安裝它。

手動安裝

手動安裝方法涉及下載我們的電子商務外掛,並通過您喜愛的FTP應用程序上傳到您的Web伺服器。WordPress 法典在這裏有相關說明。

更新中

自動更新一般不會出現問題;但一如既往,請備份您的網站,以防萬一。

如果你在更新後遇到商店/類別頁面的問題,你只需要刷新固定鏈結:打開 WordPress> 設置> 固定鏈結,點擊“保存”。 這應該會恢復正常。

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

常見問題

Installation Instructions

最低要求

  • PHP version 5.2.4 or greater (PHP 7.2 or greater is recommended)
  • 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控制台,瀏覽到外掛選單,然後單擊添新增。

在搜尋欄位中鍵入“WooCommerce”,然後點擊搜索外掛。 一旦你找到我們的電子商務外掛,你可以查看它的詳細資訊,如版本,評級和描述。 最重要的是,你可以通過點擊「立即安裝」來安裝它。

手動安裝

手動安裝方法涉及下載我們的電子商務外掛,並通過您喜愛的FTP應用程序上傳到您的Web伺服器。WordPress 法典在這裏有相關說明。

更新中

自動更新一般不會出現問題;但一如既往,請備份您的網站,以防萬一。

如果你在更新後遇到商店/類別頁面的問題,你只需要刷新固定鏈結:打開 WordPress> 設置> 固定鏈結,點擊“保存”。 這應該會恢復正常。

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

我在哪裡可以找到WooCommerce文檔和用戶指南?

有關設置和配置WooCommerce的幫助,請參閱我們的用戶指南

要擴展或主題化WooCommerce,請參閱我們的 法典

在哪裡可以獲得支援或與其他用戶交談?

如果您遇到問題,可以在WooCommerce外掛論壇中尋求幫助。

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

WooCommerce能用我的主題嗎?

是的; 胡商可使用任何主題,但可能需要一些修飾使其更相襯。 有關幫助請參閱我們的法典。 如果您在尋找內置WooCommerce支持的主題,我們建議您瀏覽店面

在哪裡可以申請新功能,電子商務主題和擴展程序?

You can vote on and request new features and extensions in our WooIdeas board

在哪裡可以報告錯誤或對項目作出貢獻?

您可以在我們的支援論壇或WooCommerce GitHub 代碼庫中報告錯誤。

在哪裡可以找到 REST 應用程式介面文檔?

您可以在 WooCommerce REST 應用程式介面文檔 上找到相關說明。

WooCommerce真是棒!我可以作出貢獻嗎?

Yes you can! Join in on our GitHub repository 🙂

評價

Just what I was looking for

Thank you so much. You’d think it should be 「basic」 in woocommerce! I could not find this simple tool without buying expensive & complexe shipping plugins.

閱讀全部2,834個評價

貢獻者及開發者

“WooCommerce” has been translated into 52 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.4.3 – 2018-06-20

  • Fix – Fix label for the price filter widget on RTL sites. #20417
  • Fix – Checkout: stopPropagation when payment method selected so description tips show on radio buttons. #20432
  • Fix – Shipping zone settings: fixed title for shipping methods without settings. #20441
  • Fix – Ensure custom Webhook topic selections are correctly saved in admin. #20406
  • Fix – Webhook bottom bulk actions. #20445
  • Fix – Fixes multisite orders dashboard widget to use order number rather than ID. #20457
  • Fix – Add check to ensure download log FK does not exist before adding it. Update routine will cleanup any duplicates. #20478
  • Fix – IPv6 support with HTTP_X_FORWARDED_FOR header. #20479
  • Fix – Avoid setting wrong prices when syncing grouped products with children. #20482
  • Fix – Separation of explode and end functions in two lines. End function should get a reference as parameter. #20500
  • Fix – Initialize payment gateways before running bulk actions so gateways can listen for events. #20502
  • Fix – Cast shipping total to a float so incl. tax shows only when needed. #20531
  • Fix – Fix automatic stock status updates based on stock level. #20573
  • Fix – Improved sanitize_special_column_name_regex trim to fix column matching when importing CSVs. #20486
  • Fix – Force importer log table to wrap long columns. #20534
  • Fix – Rest API: Prevent errors if variation parent is invalid and cannot be read. #20572
  • Fix – Rest API: Remove legacy API enabled check from auth endpoint. #20499
  • Fix – Display products on sub-subcategories when sorting parent category by price. #20579
  • Fix – Set order status to refunded when a PayPal transaction is refunded. #20574
  • Fix – fix undefined index in abstract-wc-widget. #20544
  • Fix – Round items for order total when recalculating order values to match cart. #20533
  • Fix – Removed mysql transactions when updating order status, tweaked caching, and improved version transient cleanup to prevent possible deadlocks on checkout. #20537
  • Tweak – Added a message to promote Wootenberg when running Gutenberg feature plugin. #20524
  • Tweak – Added a warning notice before removing personal data from orders in bulk. #20481
  • Dev – generate_select_html and generate_multiselect_html functions again support the usage of integer-keyed arrays as available values. #20569
  • Dev – Allow order billing fields to use a provided 『value』. #20424

3.4.2 – 2018-06-05

  • Fix – Flexslider gallery fixes for RTL sites, and for variation image switching. #20328 #20321
  • Fix – Allow forms to be submitted when the password strength library fails to load. #20362
  • Fix – Personal data exporter: Do not export a customer data group containing no data. #20347
  • Fix – Fix navigation notification in settings when clicking save. #20335
  • Fix – Show discount amount for free shipping coupons. #20334
  • Fix – Fixed cache clearing for category children for sites running object caching. #20308
  • Fix – Use correct escaping on select2 placeholders. #20364
  • Fix – Order by price clauses when searching within terms. #20391
  • Fix – Clear needs_processing transient when adding a product to an order. #20390
  • Enhancement – Permission_id constraint checks on install. #20366
  • Dev – Added order to 「woocommerce_order_is_vat_exempt」 filter arguments. #20365
  • Localization – Disable states for Bahrain. #20363
  • Localization – Disable states for Luxemberg. #20389

3.4.1 – 2018-05-29

  • Fix – Fix webhook admin filtering URLs. #20236
  • Fix – Add missing wp_unslash calls to product data meta box to prevent quote characters being escaped on save. #20235
  • Fix – Display price filter widget in LTR mode on RTL sites. #20221
  • Fix – Refactor WC_Coupon constructor to allow for passing in coupon objects. #20193
  • Fix – Path field in advanced CSV importer was broken due to an esc_url call. #20191
  • Fix – Prevent shipping method instances trying to save settings on non-instance screens. #20217
  • Fix – Wrapper function to get full mysql version string with mariadb handling. #20231
  • Fix – woocommerce_pagination had some extra white space. #20214
  • Fix – If a file size cannot be read, ignore range headers to prevent offsite downloads being 0kb. #20205
  • Fix – Allow HTML when using wc_attribute_label(). #20202
  • Fix – Update address-i18n.js to prevent appending multiple 「(optional)」 labels. #20195
  • Fix – Check plugin properties exist when listening to auto_update_plugin hook. #20234
  • Fix – Add extra checks in get_canonical_package_rate_ids to prevent notices. #20237
  • Fix – Fix infinite loop with importing tax rates. #20253
  • Fix – Echo attribute label for 「empty」 default option. #20256
  • Fix – Fix download sample tax rates URL format. #20272
  • Fix – Product properties should not be accessed directly PHP notice when calling wc_get_product_attachment_props. #20282
  • Fix – If flexslider is disabled, gallery images also need to trigger photoswipe on click. #20290
  • Fix – Product import file uploads on windows servers. #20273
  • Fix – Fix variation attribute selection via the cart page/query string. #20293
  • Fix – Add greater specificity to required styling in 2017 theme. #20296
  • Enhancement – Export legacy paypal meta data in personal data exporter. #20200
  • Enhancement – Improve performance of wc_update_340_states update routine to help prevent timeouts. #20241
  • Dev – Remove red styling for PHP notice if using > 5.6. #20294
  • Dev – Add an action hook after printing the cart item name. #20190
  • Localization – Use 「payment tokens」 terminology in exports. #20197

3.4.0 – 2018-05-23

  • Feature – GDPR: Tools to export WooCommerce data using the new export functionality in WordPress 4.9.6. #19330
  • Feature – GDPR: Tools to bulk anonymize order data in admin. #19330
  • Feature – GDPR: Tools to turn off company/address-2/phone checkout fields to avoid unnecessary data collection, and a toggle to choose how required fields are presented. This is available via the Customizer. #19637
  • Feature – GDPR: Tools in the Customizer to change the terms and conditions checkbox label on the checkout. #19637
  • Feature – GDPR: Tools to define a privacy policy for the account page and checkout page in 「account privacy」 settings and within the Customizer. #19747
  • Feature – GDPR: Tools to automatically clean up and remove order personal data after a set time period. #19743
  • Feature – GDPR: Added privacy snippet which works with the new privacy page functionality in WordPress 4.9.6. #19749
  • Feature – Added a new order widget to the dashboard (on multisite) so you can see your orders across multiple stores on the same WordPress network. #17598
  • Feature – Added 「display name」 input on the My Account page. #19078
  • Feature – Product search improvements including stopword support and support for searching for multiple products at the same time. #19096
  • Feature – Cash on Delivery gateway can be enabled/disabled for specific shipping methods instead of only method types. #19221
  • Feature – Add wildcard email support for coupons. #19331
  • Feature – Added support for the GeoLite2 library as a replacement for the deprecated MaxMind GeoIP library. #19419
  • Feature – Added tool for cleaning up download permissions table. #19922
  • Tweak – GDPR: Improved appearance of checkout field 『descriptions』 (if used) to make them more useful for privacy notices. #19637
  • Tweak – GDPR: Improved related data cleanup when deleting users/orders. #19330
  • Tweak – GDPR: Notice about HTTPS as a requirement in admin if missing. #19756
  • Tweak – GDPR: Improved the checkout (payments) settings screen, moved page options to a new 「advanced」 section, and made an 「Accounts and Privacy」 section. #19703
  • Tweak – GDPR: Hash customer email address in download URLs to protect privacy. #18957
  • Tweak – GDPR: Add highlight to T&C checkbox if not checked to show it needs to be checked. #19177
  • Tweak – GDPR: Automatically purge old logs after 30 days. #19920
  • Tweak – GDPR: Only log Webhook body if WP_DEBUG is enabled. #19914
  • Tweak – GDPR: Store less PII in PayPal standard. #19914
  • Tweak – Only show admin notices on WooCommerce screens/plugins/dashboard. #19772
  • Tweak – Standardize stock update messages in admin and correctly log who performed the action. When an order note is added after modifying stock manually, update order notes display via AJAX. #18080
  • Tweak – Rollback if payment complete or update status fails to prevent partial order updates on failure. #18175
  • Tweak – Made the system status tool which purges user carts also purge persistent carts. #18492
  • Tweak – Display whether or not external object cache is enabled in system status report. #18595
  • Tweak – Display zero value when using shipping classes. #18624
  • Tweak – Fixed settings table styling on mobile. #18655
  • Tweak – Updated Flexslider to version 2.7.0. #18779
  • Tweak – Enable screen options for list screens. #18817
  • Tweak – Don’t call WC_Install::install() on downgrades. #18818
  • Tweak – Remove user login from reset password link to protect personally identifying info. #18820
  • Tweak – Added a function to return a list of custom tables to aid with cleanup. #18831
  • Tweak – Enable going backwards in the setup wizard. #18921
  • Tweak – Make sure terms page exists and isn’t trashed before using it. #18993
  • Tweak – Toggle when clicking anywhere in toggle row during setup wizard. #19035
  • Tweak – Use read_product permissions instead of edit_product for ajax product search. #19087
  • Tweak – Add priceSpecification property with valueAddedTaxIncluded to product structured data. #19091
  • Tweak – Importer remembers mappings across imports. #19110
  • Tweak – Made coupon total displayed in cart more consistent. #19166
  • Tweak – Remove forced CSS line-heights to improve text input displays across different browsers. #19174
  • Tweak – When loading default attributes/variation, if there is no longer a match, reset the form and hide the notice #19190
  • Tweak – Removed admin product type column from core and made it into a free feature plugin. #19192
  • Tweak – Use woocommerce-no-js class to hide JavaScript-only forms and content. #19199
  • Tweak – Activate plugins during installation process even if directory doesn’t match slug. #19200
  • Tweak – Allow category and attribute ids in the products shortcode instead of only slugs. #19204
  • Tweak – Invalidate cart items when important props like product type are updated. #19255
  • Tweak – Don’t use mysql functions directly on system status page to prevent errors if they are disabled. #19281
  • Tweak – Replaces have_posts with woocommerce_product_loop which looks to see if there are products, or if the loop is going to be showing something else. #19288
  • Tweak – Delete widget options and order notes on uninstall. #19371
  • Tweak – Add unique names to all nonces in template fields and forms. #19387
  • Tweak – Enable using the tab key to select elements in selectWoo dropdowns. #19416
  • Tweak – Added autocomplete attributes to form elements for better autocomplete support. #19426
  • Tweak – Removed PayPal line item limit and ensured URLs are shorter than maximum length. #19493
  • Tweak – Disable Gutenberg editor on products posts. #19543
  • Tweak – Improvements around UI and wording of store setup step in setup wizard, a revamped extras step, and other improvements.
  • Tweak – Only push images to lightbox if an image is found. #19568
  • Tweak – Added and improved notices around old PHP versions and disabled geolocation on PHP 5.4 or lower. #19573
  • Tweak – The manage_stock field in the product API can return a mixed type instead of boolean for variations. #19598
  • Tweak – Link product import/export to WordPress import/export capabilities. #19602
  • Tweak – Use   to separate asterisks in required fields to prevent awkward line breaks. #19610
  • Tweak – Load meta box input values using CRUD and edit context. #19670
  • Tweak – Scroll to notices on cart/checkout for better mobile visibility. #19699
  • Tweak – Add filter to coupon URL on 「Edit order」 screen. #19777
  • Tweak – Throw error if order can’t be loaded on checkout. #19802
  • Tweak – Remove deprecated freegeoip service from geolocation. #19841
  • Tweak – Allow arrays of query vars in wc_get_orders and wc_get_products. #19848
  • Tweak – Invalidate fragment cache on theme switch.
  • Tweak – Include select tags when saving payment details temporarily in checkout.js. #19854
  • Tweak – Update – Include pending products in export. #19928
  • Tweak – Deprecate woocommerce_ajax_added_order_items action in favor of more useful action. #19933
  • Tweak – Enable touch-to-zoom on touch devices to make photoswipe more easily accessible. #20002
  • Tweak – Wizard: List out all plugins to be installed upon proceeding to the next step, with a highlight on hover indicating relevant settings. #19952
  • Tweak – Hide/show password strength meter instead of removing/inserting password strength meter. #20006
  • Tweak – Added support for HTTP_RANGE requests (used by iOS devices) to Force download method. #19984
  • Tweak – Replaced protocol-relative URLs for thumbnails in the cart and mini-cart with protocol-specific URLs to prevent problems with URLs that include port section. #19934
  • Tweak – In CSV exports, wrap cell in 『 rather than just prepending to escape values. #20041
  • Tweak – Add JS listeners for reloading/reinitializing order items in edit-order page. #20082
  • Fix – Properly set orderby and order when calling WC_Customer_Download_Data_Store::get_downloads(). #1862
  • Fix – Set maxlength for order item meta key to avoid values disappearing if too long. #18918
  • Fix – Remove hardcoded /wp-content check for downloads. #18961
  • Fix – Made get_on_sale_products respect the setting to hide outofstock products. #18984
  • Fix – Prevent shortcode [product_page] redirecting to the actual product’s page after add to cart. #19043
  • Fix – Make the 「main term」 logic match for both the breadcrumb and product categories widget. #19044
  • Fix – Check parent status too when seeing if variation is purchasable. #19045
  • Fix – Fix uppercasing of accented characters. #19086
  • Fix – Do not allow updating parent ID from variations after created. #19097
  • Fix – Ensure coupon amount is not empty to prevent non-numeric value errors. #19098
  • Fix – Ensure shop archive works correctly when paged=1 is in the URL. #19104
  • Fix – Ensure orders created with woocommerce_adjust_non_base_location_prices filter active have the same cost on frontend and admin. #19109
  • Fix – Handling in the CLI to prevent Resource does not exist errors when using commands of a certain format. #19123
  • Fix – Use subtotal when calculating discounts in admin/orders to ensure prices are the same as on the frontend. #19159
  • Fix – Use kses to process download names to prevent escaped HTML displaying in emails.
  • Fix – Remove translation from Thailand state file to prevent PayPal errors around unsupported characters. #19219
  • Fix – Fix auto-select variation URLs with special characters in them. #19283
  • Fix – Introduced wc_round_discount and improved consistency of discount rounding. #19291
  • Fix – Only add schema for ratings to structured data when ratings are enabled. #19310
  • Fix – Prevent default state applying unless the country was also unset in JS state/country inputs. #19338
  • Fix – Escape quantity labels correctly to prevent broken html. #19375
  • Fix – Delete orphaned variations after product import. #19378
  • Fix – Ensure API credentials exist before defining PayPal refund support. #19380
  • Fix – Force word-wrapping in the log viewer to prevent layout-breaking long lines. #19503
  • Fix – Removes permission checks that were preventing webhooks from displaying properly when no post object existed. #19508
  • Fix – Empty cart after completing PayPal payment. #19509
  • Fix – Strip tags on aria-labels in Add to Cart template to prevent broken HTML. #19522
  • Fix – Update post_modified date when saving products and variations but no other product data. #19595
  • Fix – Clear comment count transient when cleaning product transients to prevent incorrect comment count displays. #19664
  • Fix – Load gateways before order is saved/email is triggered to ensure all information gets sent/processed. #19667
  • Fix – Clear shipping transient when saving shipping method on zones screen. #19668
  • Fix – Handle escape characters for fputcsv to work around PHP standards issues. #19678
  • Fix – Cast post IDs to integers in admin meta boxes. #19710
  • Fix – Fix CSV unescaping of negative numbers in download expiry/limit columns. #19732
  • Fix – Don’t load unsupported theme functionality if shop page ID is -1. #19822
  • Fix – Select and display 「Downloadable」 option in product admin filter when selected. #19876
  • Fix – Add sort handle column when adding new tags. #19875
  • Fix – More thorough CSV importer cleanup. #19877
  • Fix – Fix gallery switching when image is the same #19878
  • Fix – Ensure coupon amount is always returns as a float value #19889
  • Fix – No update available message after activating subscription that has a valid update. #19831
  • Fix – Include scheduled products in CSV export. #19907
  • Fix – Generator tag actions should be filters. #19946
  • Fix – WC API should not try to create a product image when creating a product variation if an empty image is passed. #19971
  • Fix – Force settings API settings to autoload by default. #19998
  • Fix – Cart html5 validation events when using keyboard. #20001
  • Fix – Don’t show stock status fields in external product quick-edit. #20005
  • Fix – Prevent an infinite loop if 2 grouped products are linked. #20020
  • Fix – Switch stock_status when manage stock gets changed to prevent being out of stock if stock quantity is > 0. #20021
  • Fix – When duplicating variation, set the date to null. #20083
  • Fix – Fix rounding of line items for orders to match cart. #20086
  • Fix – Remove hardcoded border in email template. #20090
  • Fix – Prevent autofocus on checkout. #20123
  • Fix – Recalc taxes if address changes in API. #20137
  • Dev – Made wc_query_string_form_fields handle strings. #20162
  • Dev – Added refunded_payment prop to orders for determining if payment was refunded via API. #18196
  • Dev – Added extra params to woocommerce_order_get_downloadable_items. #18408
  • Dev – Store shipping method ID and instance ID in separate fields instead of both in one serialized field. #18483
  • Dev – Add woocommerce_rest_insert_system_status_tool hook that fires after executing a REST system status tool. #18505
  • Dev – Gallery meta box is now powered by CRUD. #18511
  • Dev – Refactor woocommerce_wp_select so it could be used for a multiselect. #18536
  • Dev – Added ability to declare sanitize_callback in settings API. #18554
  • Dev – Added support for additional HTML5 input types for settings/checkout forms. #18594
  • Dev – Made 『woocommerce_email_downloads_column_』 hook format aware. #18600
  • Dev – Add missing woocommerce_update_options__ actions for settings pages that override save method. #18609
  • Dev – Allow default value for single_select_country and multi_select_countries. #18754 #18756
  • Dev – Added grouped_form class to grouped product form element. #18786
  • Dev – Mini cart item link now respects value of $product_permalink. #18979
  • Dev – Added woocommerce_coupon_get_items_to_validate filter to enable excluding products from coupon validation. #19002
  • Dev – Added woocommerce_persistent_cart_enabled filter. #19027
  • Dev – Added woocommerce_admin_order_item_coupon_url filter. #19777
  • Dev – Replaced calls to exit with wp_die in the ajax methods to enable unit testing of those methods.
  • Dev – Introduce woocommerce_coupon_custom_discounts_array filter to allow post processing on custom coupons. #19148
  • Dev – Move jQuery UI styles into WooCommerce assets folder and load them from there. #19173
  • Dev – Added woocommerce_coupon_validate_expiry_date filter to enable modifying the coupon expiry date check. #19228
  • Dev – Added woocommerce_shipping_calculator_enable_state filter to enable disabling state section in shipping calculator. #19241
  • Dev – Added woocommerce_bacs_process_payment_order_status filter allowing plugins to change the order status to the BACS gateway. #19311
  • Dev – Added woocommerce_coupon_sort filter to allow plugins to override the default coupon apply order. #19339
  • Dev – Added woocommerce_before_output_product_categories and woocommerce_after_output_product_categories filters. #19363
  • Dev – Added general woocommerce_form_field filter to make it easier to filter all of the form fields. #19388
  • Dev – Added woocommerce_install_get_tables filter to enable plugins to register new, WooCommerce-specific tables. $19436
  • Dev – Use get_variation_price method in structured data to grab min/max so filters are ran. #19527
  • Dev – Added woocommerce_helper_suppress_connect_notice filter to enable suppressing the admin WordPress.com connection message. #19599
  • Dev – Moved all photoswipe styles to photoswipe.css to make it easy to dequeue all the photoswipe styles. #19673
  • Dev – Slash meta values before updating values in the data stores. #19675
  • Dev – New wc_selected method to handle array key conversion to int. #19705
  • Performance – Optimized saving of orders. Adds a transient for needs_processing, and only saves changes when saving order items. #18538
  • Performance – Refactored the SQL query for WC_Customer_Download_Data_Store::get_downloads() to fetch available downloads faster. #18559
  • Performance – Split the layered nav counts into multiple transient records by taxonomy and added a filter to allow bypassing caching. #19225
  • Performance – Removed duplicate SET SESSION SQL_BIG_SELECTS=1 queries. #19502
  • Performance – Avoid storing coupon _used_by data to prevent database bloat. #19669
  • Performance – Introduced new wc_get_product_class() and wc_product_class() functions. #19639
  • Performance – Series of tweaks aimed at reducing the number of queries performed #19918
  • Template – Update cart coupon button from input to button type. #19059
  • Template – Added woocommerce-form-register class to registration form. #19486
  • Template – Added escaping to publish date. #19530
  • Template – Added a template file for recent product reviews. #19711
  • Template – Made add to cart templates more consistent between product types. #19666
  • Localization – Switched Georgian Lari symbol to new UTF symbol. #19603
  • Localization – Use ISO county codes for Irish states. #19658
  • Localization – Use ISO county codes for BD states. #19744
  • Localization – LR-Liberia states. #19709
  • Localization – Update ZA tax rate. #19909
  • Localization – Various spelling, grammar fixes, and phrasing improvements.
  • Localization – Fix missing Bahrain country code. #20061

See changelog for all versions.