外掛說明
WooCommerce – WordPress 開放原始碼電子商務平台。
我們的核心平台完全免費且靈活彈性,還有全球社群協助增強效能。 開放原始碼代表你可以自由做主,永遠都能完全掌控自己商店的內容和資料。
不論你是要開展業務、將實體零售業務拓展到線上,或是為客戶開發網站,使用 WooCommerce 便能打造完美融和內容與商務的商店。
- 透過適合你品牌和產業的佈景主題,建立美觀、迷人的店面。
- 藉由最佳化的購物車體驗提高收益。
- 使用模組化商品區塊,幾分鐘內就能自訂商品頁面。
- 展示實體和數位商品、產品款式、自訂設定、即時下載和附屬項目。
- 使用經開發人員審核的擴充功能,販賣訂購項目、預訂或會員資格。
- 利用 WordPress 的 SEO 優勢,上升為頭號搜尋結果。
- 建置於可擴展規模的平台上。為大批發商店提供靈活的電子商務解決方案。
所有你需要的銷售工具
內建工具和熱門整合功能有助你高效管理業務營運。 透過選用的設定精靈,一鍵新增眾多的免費服務。
- 選擇你想要的收款方式。 使用 WooPayments (適用於美國、英國、愛爾蘭、澳洲、紐西蘭、加拿大、西班牙、法國、德國和義大利) 直接在商店中輕鬆管理付款。 擁有 100 多個付款閘道 (包括 Stripe、PayPal 和 Square),能夠安全地收受以信用卡、行動錢包、銀行轉帳和現金支付的款項。
- 設定運送選項。 直接從儀表板列印 USPS 標籤,使用 WooCommerce Shipping 甚至可以安排取件 (僅限美國)。 與 UPS 和 FedEx 等著名貨運業者建立聯繫,還有你所在地區適用的各種物流、庫存和履行解決方案等你來探索。
- 簡化營業稅。 新增 WooCommerce Tax 或類似的整合服務,享有自動計算功能。
隨時隨地推動業務成長、新增功能並監控商店情況。
WooCommerce 讓你的事業如虎添翼。 使用內建於 WooCommerce 功能強大且具備彈性的集中式儀表板,隨時掌握你最重要的績效指標。
透過 Google Ads、HubSpot、Mailchimp 和 Facebook 的整合功能,增加市場和社群媒體頻道的受眾。 你可以隨時查看行銷中心內建的儀表板,尋求有助你成功的新想法和提示。
使用 WooCommerce Marketplace 數百個免費和付費擴充功能來強化商店功能。 我們的開發人員會審查每個新的擴充功能,同時定期審查現有的擴充功能,以維持 Marketplace 品質標準。 我們會積極尋找可以幫助商家締造成功佳績的商品。
使用免費的 WooCommerce 行動應用程式 (Android 和 iOS),隨時隨地管理你的商店。 搶先知道:每次完成一筆新的交易,就會聽到系統發出「叮噹」提示音,有點讓人上癮!
你的商店資料永遠在你掌控之中
有了 WooCommerce,你的資料僅歸你所有。 從不例外。
如果你選擇與我們分享使用資料,可以放心我們會以匿名形式保障你的資料安全。 你可以隨時選擇退出,不會對商店造成任何影響。
WooCommerce 商店資料與時俱進,這點與託管電子商務解決方案不同;你可以匯出所有內容,並將網站移至你選擇的任何平台。 不受限制。
WooCommerce 成為開發人員首選的原因
開發人員可透過 WooCommerce 建立、自訂商店並調整商店規模,以符合客戶確切規格需求,並透過擴充功能或自訂解決方案提供強化功能。
- 善用 hook 和篩選器修改或建立功能。
- 使用強大的 REST API 和 Webhook,幾乎任何服務都可以整合。
- 使用 React 設計並建立自訂內容區塊。
- 檢查並修改核心外掛程式程式碼的所有層面。
- 使用風馳電掣的 CLI 加速開發。
核心平台會頻繁進行嚴格測試,並由跨時區工作的專責開發團隊負責支援。 每次版本更新時都會隨附最新且詳盡的文件說明,協助你打造完美符合需求的商店。
加入我們不斷成長的國際社群
WooCommerce 擁有充滿熱忱的龐大社群,致力於協助商家成功開創商機,目前社群規模正快速成長。
全球各地都會舉行多場 WooCommerce 聚會,你可以免費參加,甚至參與執行工作。 這些活動是向他人學習、分享專業知識,以及與志同道合夥伴交流的絕佳方式。
WooCommerce 也會定期在全球的 WordCamps 舉辦活動,期待能在會場中見到你。
貢獻己力,參與翻譯
WooCommerce 由 Automattic 開發支援;WordPress.com 和 Jetpack 也是 Automattic 的作品。 另外,我們有上百位獨立撰寫人員,而且一向有招募更多人才的空間。 前往 WooCommerce GitHub 目錄,瞭解如何加入。
WooCommerce 已翻譯成多種語言,包括丹麥語、烏克蘭語和波斯語。 歡迎前往 translate.wordpress.org 加入你的語系,協助 WooCommerce 進一步本地化。
連結至 WooCommerce.com
你可將商店連結至 WooCommerce.com,以便管理你在 WooCommerce Marketplace 上的訂閱項目,無須離開 WordPress 管理員身分,也能收到商品更新資訊。 若你建立連結,也能直接從 WooCommerce.com 安裝購買的商品,簡化技術支援的取得管道。 如果你希望了解我們收集了哪些資料和其用途,請參閱我們的隱私權政策。
螢幕擷圖
適用於區塊編輯器
這個外掛提供 1 個可供區塊編輯器使用的區塊。
- Coming Soon
安裝方式
最低安裝需求
- 需要使用 PHP 7.4 以上版本 (建議使用 PHP 8.0 以上版本)
- 需要 MySQL 5.5.5 以上版本,或 MariaDB 10.1 以上版本
- WordPress 6.9 或以上版本
- (建議) WordPress 記憶體上限為 256 MB 以上。
- (建議) HTTPS 支援。
Automatic installation
自動安裝是最簡單的選項;WordPress 會處理檔案傳輸,你不需要離開網頁瀏覽器。 若要自動安裝 WooCommerce,請登入 WordPress 儀表板,瀏覽至「外掛程式」選單,然後按一下「新增」。
在搜索欄位中輸入「WooCommerce」,然後按一下「搜尋外掛程式」。找到我們後,你可以檢視相關詳細資訊,例如版本、評分和說明。當然最重要的是,只要按一下「立即安裝」,WordPress 會代你完成所有程序。
Manual installation
若要進行手動安裝,則需下載 WooCommerce 外掛程式,並透過你偏好的 FTP 應用程式將其上傳至網路伺服器。WordPress Codex 中包含手動安裝操作說明,你可以在此查看。
Updating
自動更新應該會順利進行,但我們仍然建議你備份網站。
若你在更新後遇到商店/分類頁面的問題,請前往「WordPress」>「設定」>「永久連結」排清永久連結,然後按一下「儲存」。這樣做應該可以解決問題。
範例資料
WooCommerce 提供一些範例資料,讓你可以檢視商品的外觀;請使用 WordPress 匯入工具匯入 sample_products.xml。 你也可以使用核心 CSV 匯入工具,或 CSV Import Suite 擴充功能匯入 sample_products.csv
常見問題集
-
在哪裡可以找到 WooCommerce 文件及使用手冊?
-
如須協助設定及配置 WooCommerce,請參閱快速入門和全新 WooCommerce 商店經營者指引。
若要擴充 WooCommerce 或加以主題化,請參閱我們的文件以及外掛程式開發人員最佳做法。
-
哪裡可取得 WooCommerce Core 方面的協助,或與其他使用者進行交流?
-
如果你遇到困難,不妨依照這些指引,在 WooCommerce 支援論壇尋求協助;透過 WooCommerce 社群 Slack 洽詢,或在 Facebook 的 WooCommerce 社群群組貼文。
-
我從 WooCommerce Marketplace 購買了擴充功能,我可於哪裡取得相關協助?
-
如需有關 WooCommerce Marketplace 付費擴充功能的協助:首先請查看我們的自助疑難排解指南。 若問題持續,請透過我們的技術服務人員提交支援票證。 我們專門的 Happiness Engineer 預計會於 24 小時內回覆。
-
我在登入 WooCommerce.com 時遇到問題,該怎麼辦?
-
WooCommerce 跟我的 theme 相容嗎?
-
可以! WooCommerce 適用於任何佈景主題,但可能需要額外設定一些樣式。 如果你正在尋找具備 WooCommerce 深度整合的佈景主題,我們建議使用 Storefront。
-
如何更新 WooCommerce?
-
我們提供如何更新 WooCommerce 的詳細指南。
-
我的網站故障了,該怎麼處理?
-
透過我們實用的疑難排解指南,開始診斷問題。
若你在更新佈景主題或外掛程式後發現錯誤,代表該佈景主題/外掛程式和 WooCommerce 可能有相容性問題。 如果是在更新 WooCommerce 後發生問題,代表 WooCommerce 可能與過期的佈景主題或外掛程式衝突。
在這兩種情況下,建議你使用健康情況檢查執行衝突測試 (即可在不影響訪客的情況下,停用佈景主題和外掛程式),或透過測試用網站排解問題。
-
哪裡可以回報錯誤?
-
回報 WooCommerce GitHub 目錄中的錯誤。 你也可透過支援論壇通知我們。請務必先搜尋論壇,確認尚未有人回報該錯誤。
-
哪裡可以請求開發新功能、佈景主題和擴充功能?
-
在我們的官方功能要求討論板上要求新功能和擴充功能,並對現有的建議進行票選。 我們的產品團隊會定期檢閱要求,並認為這些寶貴的意見有助於產品規劃。
-
WooCommerce 太酷了,我可以貢獻點什麼嗎?
-
在哪裡可以找到 REST API 的文件?
-
提供詳細的 WooCommerce REST API 文件。
-
這裡未列出我的問題。 哪裡可以找到更多解答?
-
請查看常見問題瞭解詳細資訊。
使用者評論
參與者及開發者
以下人員參與了開源軟體〈WooCommerce〉的開發相關工作。
參與者-
Automattic
-
WooCommerce
-
Mike Jolley
-
James Koster
-
Claudio Sanches
-
Rodrigo Primo
-
Peter Fabian
-
Vedanshu – Urumi.AI
-
Julia Amosova
-
obliviousharmony
-
Néstor Soriano Vilchez
-
sadowski
-
Ron Rennick
-
royho
-
Barry
-
Claudiu Lodromanean
-
Tiago Noronha
-
Kelly Choyce-Dwan
-
levinmedia
-
Albert Juhé Lluveras
-
Darren Ethier (nerrad)
-
Joshua Wold
-
Nadir Seghir
-
Rua Haszard
-
Michael P. Pfeiffer
-
Niels Lange
-
Raluca
-
tjcafferkey
-
danielwrobert
-
patriciahillebrandt
-
albarin
-
Tung Du
-
Manish Menaria
-
Karol Manijak
-
sunyatasattva (a11n)
-
Alexandre Lara
-
Luigi Teschio
-
Danny Dudzic
-
Sam
-
Alex Florisca
-
opr18
-
tarunvijwani
-
Paulo Arromba
-
Saad T.
-
Boro Sitnikovski
-
Gerhard Potgieter
-
Corey McKrill
-
Jorge A. Torres
-
Leif Singer
-
Ján Mikláš
變更記錄
11.1.0 2026-09-03
WooCommerce
- Fix – Activity Panel counts endpoint now respects an explicitly-empty actionable order statuses setting instead of falling back to the defaults, so a cleared setting reports zero orders to fulfill. #66483
- Fix – Add aria-label to Product Gallery Thumbnails #67303
- Fix – Add a visible validation message for the checkout terms and conditions checkbox. #66449
- Fix – Add explicit sale date fields to product Quick Edit and save schedules consistently with the full product editor. #66931
- Fix – Align the Core Breadcrumbs block output with WooCommerce Store Breadcrumbs on shop, product, account, archive, and custom taxonomy pages. #66382
- Fix – Align the Payments settings partner recommendations with the partnership tracking sheet: add Mayotte, add PayPal to Guyana, add Airwallex to Malaysia and South Korea, make MONEI the preferred provider in Andorra, and place Paytrail before GoCardless in Finland. #67395
- Fix – Allow customers to save account details when an unchanged display name is already an email address. #66645
- Fix – Allow null parent names in REST API order line items. #66636
- Fix – Allow Product Gallery variation events to use numeric string IDs. #67768
- Fix – Allow REST order updates to accept round-tripped line item meta display values with complex data. #65513
- Fix – Allow Shop Managers to save Local Pickup settings by adding a dedicated /wc/v3/pickup-locations REST route guarded by the manage_woocommerce capability, instead of posting to /wp/v2/settings which requires manage_options. #65286
- Fix – Analytics: initialize the Date type selector in Analytics settings with the effective date_paid default instead of rendering blank when the option was never saved. #67423
- Fix – Apply block support styles to legacy Product Reviews block wrappers. #67754
- Fix – Apply shipping tax to manual orders that contain shipping but no products. #66639
- Fix – Apply the stepper quantity-selector styles only to quantity containers that hold a visible quantity input, so a form containing both visible and hidden quantity fields no longer renders a stepper box around a hidden one. #67153
- Fix – Blueprint: match the restricted site options list regardless of the casing, padding or accents used in an imported key, so a variant spelling can no longer overwrite a restricted option such as wp_user_roles. #67348
- Fix – Cap quantity-form v4 refund amounts to the line’s remaining refundable amount so sequential partial refunds can always refund the remaining items instead of failing on rounding drift. #66884
- Fix – Cart Link block: set the cart icon width to match the Mini-Cart icon size (1.5em) so it no longer renders oversized. #65875
- Fix – Change CSV batch exporter default fopen mode from a+ to a for S3 stream wrapper compatibility and add error logging when opening, writing to, or closing the export file fails. #66295
- Fix – Clarify the on-hold order email for payment flows that require another step. #66914
- Fix – Clear cached payment provider lists when the payment providers service cache is cleared. #66909
- Fix – Complete the WPDS token migration for the Settings UI shell while preserving compatibility-specific dimensions. #67150
- Fix – Correct the Macanese pataca currency symbol to MOP$. #66716
- Fix – Correct the Zambian kwacha currency symbol from ZK to K. This changes the public symbol returned by currency APIs and the symbol recognized when saving flat-rate shipping costs. #66722
- Fix – CSV importer: clear removed gallery images when reducing the number of images for an existing product. #66213
- Fix – CSV product importer: match special columns (attributes, downloads, meta) by prefix instead of with unanchored regexes, so columns that merely contain a special name no longer get the wrong formatting callback. #66825
- Fix – Delete expired transient files on sites whose uploads directory is a stream wrapper path, such as S3-Uploads and WordPress VIP installs, where the cleanup previously reported success without deleting anything. #67670
- Fix – Deprecate the woocommerce_coupon_object_updated_props action in favor of the new woocommerce_coupon_updated_props action, which reports only the properties changed by the current save. The deprecated action keeps firing with its historical payload (properties accumulated across saves through the same data store instance, with duplicates) whenever it has listeners. WC_Coupon_Data_Store_CPT::$updated_props is deprecated. #67168
- Fix – Detect REST API requests made via the ?rest_route= query parameter (plain permalinks, Jetpack-signed requests) in is_rest_api_request(). #66816
- Fix – Detect Store API requests made with plain permalinks (?rest_route=/wc/store/) so they are correctly identified. #65781
- Fix – Enhanced product search multi-selects (e.g. Linked Products) no longer list products that are already selected, so re-clicking a product in the results can no longer silently remove it from the selection. #67063
- Fix – Ensure Helcim account connectivity follows the gateway’s setup status. #67398
- Fix – Ensure Product Categories, Product Tags, and Brands menu meta boxes are visible by default on the Appearance > Menus screen. #65990
- Fix – Ensure the toggle button in the product list table stays aligned on mobile view. #58774
- Fix – Ensure the woocommerce_placeholder_img_src filter applies to attachment-based product placeholders. #66717
- Fix – Ensure unsupported WooCommerce blocks are hidden from the Customizer’s widget inserter. #66650
- Fix – Excluded product IDs no longer leak back into product search results through matching variations of a variable product or through numeric search terms. #67308
- Fix – Fire the cart store’s cross-store sync event, legacy added-to-cart event, and screen-reader announcement once per mutation batch cycle instead of once per request, removing the redundant resync requests and duplicate events/announcements produced when several cart mutations are coalesced into one cycle. #66748
- Fix – Fix: make coming soon page theme-aware and simplify layout #65816
- Fix – fix: using window.wc instead of wc in classic checkout so they no longer break when a third-party script shadows the global wc binding. #66349
- Fix – Fix :where() selectors in Brands shortcode #66497
- Fix – Fix a fatal error on
/wp-admin/widgets.phpand other admin surfaces when a WooCommerce product block is registered to render in a widget area and a WooCommerce session becomes active during the request. #66641 - Fix – Fix a PHP warning raised on the first step of every CSV product export. #66585
- Fix – Fix a set of styling issues on the Payments settings screens: the white content background now reaches the bottom of the page, headings match the colour used elsewhere, the dividers under the headers are drawn consistently while the screen loads, the whole offline payments header title acts as the back control, and the offline payment method settings form is aligned and spaced evenly. #67464
- Fix – Fix clearing a log source so it reliably deletes all of that source’s log files, and only that source’s files (previously it stopped after 20 files and could remove files from other sources sharing the same name prefix). #66170
- Fix – Fix CSV importer HTML-encoding attribute names, which prevented matching existing global attributes and caused duplicate attributes or slug-too-long import errors. #66656
- Fix – Fix duplicate headers on Settings UI drill-down pages. #66854
- Fix – Fix duplicate React keys for review loading placeholders. #67666
- Fix – Fix false “Daily Cron: Not scheduled” on Status page for fresh WooCommerce installs. #66188
- Fix – Fix Free Shipping method name duplicated in order emails with improvements enabled #66034
- Fix – Fix invalid label markup for classic settings radio fields. #66705
- Fix – Fix keyboard flow in the order Add products modal so products can be added without a rogue search box, and fix the clear/chevron icon overlap. #66381
- Fix – Fix legacy
wc/v3/reports/salesand the other legacy admin reports returning empty results on HPOS-authoritative sites with sync disabled by routingWC_Admin_Report::get_order_report_data()through the HPOS schema (wc_orders/wc_orders_meta/wc_order_operational_data). #65493 - Fix – Fix long product names in the Add products modal running under the clear/chevron icons on WP 7.0+ and stretching the table past the modal edge. #67774
- Fix – Fix Mini-Cart block not visible in RTL languages #67453
- Fix – Fix Mini-Cart styles. #66651
- Fix – Fix missing default layout styles for the product_brand_thumbnails_description shortcode. #66280
- Fix – Fix PHP 8.5+ deprecation notices when a block without a front-end script (e.g. Coming Soon) registers chunk translations with a null script handle. #66197
- Fix – Fix printed order receipts: show the discount line for orders discounted without a coupon so the amounts add up to the total paid, and stop rendering an empty payment method section. #67760
- Fix – Fix product CSV importer form crashing when the mbstring extension is unavailable. #66732
- Fix – Fix Product Gallery showing the previously selected variation’s image when used with the classic Add to Cart Form. #67715
- Fix – Fix product image gallery alignment when slide widths are fractional. #66631
- Fix – Fix quick edit saving empty stock quantity as null instead of 0 when manage stock is enabled. #64551
- Fix – Fix review count not updating on WooCommerce Home after moderating multiple reviews #65830
- Fix – Fix right-to-left (RTL) layout issues in the admin: the sample product import overlay position and its list chevrons, and the Customize Your Store banner illustration placement. #66518
- Fix – Fix robots.txt
Disallowrules pointing at the wrong location on installs that relocatewp-contentor the uploads directory. #64582 - Fix – Fix scheduled sales briefly showing and charging the wrong price between the sale start/end time and the scheduled-sale event running. #65551
- Fix – Fix Tax settings REST validation rejecting valid values when plugins filter options into a structured format. #66536
- Fix – Fix the dashboard status widget out-of-stock count for unmanaged products. #66666
- Fix – Fix the order-review moderation guard missing legacy reviews of variable-product variations. #67071
- Fix – Fix the order-review moderation guard missing reviews written before 10.9.0. #66897
- Fix – Fix the product_import_complete Tracks event never firing by checking for the actual
_wpnoncerequest parameter present on the importer’s done step instead of a non-existentnonceparameter. #66556 - Fix – Fix the Revenue report double-counting returns when an order has a partial refund followed by a full refund. #66320
- Fix – Guard against non-string screen ID in visual attribute script enqueue #66655
- Fix – Hide additional address fields with show_in_order_confirmation set to false from the order confirmation block theme thank you page, classic theme order details, and My Account order details. #66899
- Fix – Hide shipping details for non-shipping orders in the admin order summary. #66488
- Fix – Honour the position argument of wc_admin_register_page() for sub pages, so extensions can control where their React-powered pages appear within a parent submenu. Previously position was only passed to add_menu_page() for top level pages and silently ignored for sub pages. #66826
- Fix – Ignore a stale quality_badge URL param in marketplace search requests when the badge is disabled or IAM settings are unavailable, so the listing cannot stay silently filtered without the toggle that clears it. #67683
- Fix – Import gallery images from a CSV Images cell whose first value is empty (e.g. a value starting with a separator) instead of silently dropping them and leaving the previous gallery in place. #66586
- Fix – Improve keyboard and screen reader accessibility for button-like links in the classic cart. #67137
- Fix – Improve Product Image srcset to prevent wide images from appearing blurry in square blocks #67325
- Fix – Improve Product Image srcset to prevent wide images from appearing blurry #67105
- Fix – Improve the color contrast of custom date fields in legacy Reports. #67014
- Fix – Include product brands in visibility-aware product term recounts. #67656
- Fix – Include variable products with out-of-stock variations in the Products stock status filter. #66942
- Fix – Introduce –wc-separator-color CSS custom property for theme-aware border colors. Migrate $universal-border-light, the login/register form borders, and the mini-cart footer border to use this token. #65697
- Fix – Keep external products visible in the catalog after converting them from an out-of-stock product. #67622
- Fix – Keep merchants on the current variation page, with their unsaved edits intact, when the pagination save warning is dismissed. #66998
- Fix – Keep responsive Settings UI shell gutters synchronized with WPDS spacing tokens. #67449
- Fix – Keep shipping details visible in admin for physical Store API orders without a shipping method. #66627
- Fix – Keep the product image help tip aligned when setting or removing an image. #66659
- Fix – Keep the Review Order page from restoring an intentionally empty Shop page setting. If this bug restored your intentionally cleared Shop page setting, clear it once more after updating. #67127
- Fix – Keep the transient files directory working on sites whose uploads directory is a stream wrapper path, such as S3-Uploads and WordPress VIP installs. #67670
- Fix – Keep WooCommerce blocks registered while filtering block inserter availability by editor context. #66314
- Fix – Leading zeros are now trimmed from the coupon amount on save for cleaner display. #66682
- Fix – Load frontend includes during new post editor requests to avoid Product Collection block hydration fatals. #66225
- Fix – Log and stop redundantly deleting invalid version string cache entries, and correctly detect misses from object cache drop-ins that report them as null. #67164
- Fix – Make focus indicators consistent on the Payments settings screen: stop the “More payment options” ring from appearing on mouse click, give it room to breathe, round the square rings on the drag handle and section header, and give the Official badge, the category info icons and the status badge info icon themed focus rings instead of the browser default. The highlighted row in the business location selector now follows the admin colour scheme too. #67448
- Fix – Make Product Gallery layout honor custom Product Image aspect ratios. #66441
- Fix – Match order withdrawal requests by email address and order number #67433
- Fix – Mini-Cart: prevent a stray trailing separator after hidden or malformed item data entries and harden item data rendering so it no longer depends on the Interactivity API swallowing an error when an item has no item data. #66688
- Fix – Normalize the Product Collection carousel header row by aligning the heading and navigation buttons, removing the heading’s hardcoded spacing, and applying theme-aware colors to the navigation buttons. #65691
- Fix – NOX onboarding: automatically move to the next step and show a notice when the test account creation fails with a non-recoverable error, instead of a retry loop. #66356
- Fix – NOX onboarding: keep reporting the test account step as completed after it was skipped forward, so merchants are not routed back into it when the platform fell back to an account that requires verification. #66492
- Fix – Only enqueue the block notice styles (wc-blocks-style) on classic themes when block notices are actually in use. #66417
- Fix – Pass placeholder image attributes to the placeholder image filter. #66691
- Fix – Persist the default nav-menu hidden meta box snapshot on a user’s first visit to Appearance > Menus, so meta boxes registered by plugins installed after that visit stay visible by default instead of being hidden on every recompute. #66954
- Fix – Persist the default nav-menu hidden meta box snapshot only for the current user on the Appearance > Menus screen, matching WordPress core, so a read of another user’s option (e.g. user-switching or admin tooling) can no longer overwrite that user’s own first-visit snapshot. #66977
- Fix – Preserve 0% tax lines when refunding order line items, so zero-rated tax entries are recorded on the refund order instead of being dropped. #66615
- Fix – Preserve cart contents when paying for an existing order. #66090
- Fix – Preserve category and tag terms attached to existing variations when re-importing them via CSV with “update existing” enabled, instead of unconditionally deleting them on every variation row. #66946
- Fix – Preserve Core Breadcrumbs callback compatibility for extensions. #66822
- Fix – Preserve existing order shipping line names that match the default Shipping label. #66849
- Fix – Preserve focus and screen reader feedback when hiding shipping recommendations, and restore marketplace links where the recommendations component is unavailable. #66689
- Fix – Preserve product archive rewrite rules when WP-CLI skips the active theme and another plugin flushes permalinks. #67101
- Fix – Preserve the legacy admin header when a Settings UI drill-down fails to render. #66916
- Fix – Preserve touch handling for interactive content nested inside FlexSlider galleries. #66754
- Fix – Preserve variation IDs when partially updating order line items through the REST API. #67343
- Fix – Prevent a fatal error when calculating totals for an order that has a fee stored with a blank value; the blank fee total is now treated as 0 during tax calculation. #66231
- Fix – Prevent a fatal error when WooCommerce checks the current admin screen before the WordPress screen API is available. #66701
- Fix – Prevent a fatal TypeError when force-downloading a remote file while a woocommerce_file_download_filename filter callback returns a non-string value. #66658
- Fix – Prevent a ghost 0.00 “Order fully refunded” refund from being created when partial refunds sum a float epsilon above the stored order total. #66885
- Fix – Prevent block initialization errors in the classic widget editor. #67112
- Fix – Prevent Brand Nav widget from poisoning shared product subcategory cache. #65947
- Fix – Prevent classic product image gallery swipes from closing the Facebook in-app browser. #66602
- Fix – Prevent client-side-only blocks from disappearing from the post editor inserter. #66628
- Fix – Prevent duplicate order download permissions when granting access to a product again. #66410
- Fix – Prevent early translation loading when checking unified block editor build assets. #67072
- Fix – Prevent early WooCommerce translation loading from breaking redirects when debugging is enabled. #66582
- Fix – Prevent fatal errors on plugins.php, update-core.php and the Extensions page when cached WooCommerce.com subscription data contains malformed entries. #67152
- Fix – Prevent fatal errors when older WooCommerce Analytics packages are loaded. #66710
- Fix – Prevent fatal errors when updating malformed payment gateway settings. #66848
- Fix – Prevent filtered review blocks from showing all reviews when no category or product is selected. #67324
- Fix – Prevent ID-less classic settings radio fields from sharing a single “-title” ID that could cross-label radio groups for assistive technology. #66944
- Fix – Prevent invalid object cache values from crashing the version string generator. #67164
- Fix – Prevent invalid Quick Edit sale dates and unavailable datepicker scripts from corrupting product pricing schedules. #67052
- Fix – Prevent notice about wp-editor being enqueued from appearing in the Widgets screen #66979
- Fix – Prevent product brand shortcode images from rendering empty or unitless inline dimensions. #66745
- Fix – Prevent product editor content from shifting during initial page load. #67351
- Fix – Prevent product variations imported via CSV from inheriting the default “Uncategorized” product category. #66255
- Fix – Prevent the Blueprint settings screen from fataling when a third-party filter throws while WooCommerce requests plugin or theme metadata from WordPress.org. #67342
- Fix – Prevent the Site Editor from showing unsaved changes when opening classic WooCommerce templates. #67093
- Fix – Prevent variations from being automatically included in product exports when a specific type filter (e.g. variable only) is set. #66292
- Fix – Prevent WC_Abstract_Order::add_item() from silently overwriting an unsaved item when items are removed and re-added before save() (count()-based temporary key collision). #65607
- Fix – Product CSV importer: respect the store’s decimal separator setting when parsing weight and dimensions, so comma-separated values (e.g. “1,5”) are no longer discarded. #66205
- Fix – Product searches with terms containing ” or ” now apply the include, exclude, status, product type and post type filters to every OR group instead of only a single group, so admin product pickers no longer suggest drafts, excluded products or wrong-type products matched by those groups. #67420
- Fix – Product Summary: apply responsive styles to current and legacy rendered summaries. #67356
- Fix – Rate limit order withdrawal requests by IP address and email. #67069
- Fix – Register legacy block bundle handles as deprecated compatibility placeholders when unified editor assets are enabled. #67055
- Fix – Register WooCommerce block types on demand when a product or variation description is rendered through do_blocks, so dynamic blocks placed in a description no longer render blank in the products REST API, the Store API, the variation AJAX endpoint or product webhooks. #67663
- Fix – Reject duplicate tax IDs in refund line items on the wc/v4 refunds endpoint and the wc/v3 compute_totals path, which previously created refunds whose stored line taxes did not add up to the refund amount. #67613
- Fix – Remove duplicate Shipping settings Marketplace link when shipping recommendations are shown. #66110
- Fix – Remove nofollow from product permalink links in product buttons. #66743
- Fix – Remove Sample badge from sample products generated during the CYS flow #66322
- Fix – Reorder the cart, mini-cart, and add-to-cart quantity steppers so the decrease button precedes the quantity input in the DOM, matching the visual order for a logical keyboard focus and screen-reader reading sequence. #66670
- Fix – Replace deprecated jQuery .focus() shorthand with .trigger( ‘focus’ ) / .on( ‘focus’ ) across legacy JS files. #66273
- Fix – Report whether approved download directory rules are enforced in Site Health. #67479
- Fix – Reset stock management and stock status when converting products to grouped or external types. #67484
- Fix – Respect dp parameter when formatting coupon line item discount and discount_tax values in REST API. #66328
- Fix – Respect hidden Date and Status columns on the admin orders list below 782px, so the Columns menu (Screen Options) is honored at every screen width. #66242
- Fix – Respect legacy WooCommerce Admin filters when disabling analytics. #66444
- Fix – Restore and harden the Site Health prompt after approved download directory synchronization. #67491
- Fix – Restore checkout compatibility handling for payment extensions with missing script dependencies. #67365
- Fix – Restore Mini-Cart inner blocks in the Site Editor. #67416
- Fix – Return early in Product block if product is not viewable #67332
- Fix – Return HTTP 400 instead of 500 for invalid refund_tax and auto-compute inputs on the wc/v3 refunds compute_totals path, by adding the missing HTTP status to five shared-engine validation errors and defaulting status-less engine errors to 400 at the v3 boundary. #67757
- Fix – Serve minified admin scripts only when the minified file actually exists, preventing broken admin pages when the minified-js feature is force-enabled (e.g. via WooCommerce Beta Tester) on builds that do not ship minified JS files. #67515
- Fix – Show the billing name for guest orders in the WooCommerce Home Orders activity panel instead of leaving the name blank. #66279
- Fix – Show the Local Pickup settings save confirmation on a successful save (and an error notice on failure), instead of only when the server response matched the sent payload, which suppressed the notice when values were sanitized (e.g. “&” normalized to “&”). #66459
- Fix – Show the Save Draft button when creating a coupon. #66663
- Fix – Skip on-the-fly and background thumbnail regeneration for attachments no image editor supports (e.g. SVGs), preventing PHP notices and repeated doomed resize attempts. #67347
- Fix – Skip the brands product column when the product_brand taxonomy is deregistered #66410
- Fix – Start new bank accounts on the Direct bank transfer settings page in the business location set on the Payments settings screen. The store base country used before could arrive with a state suffix (“US:CA”), which matched no entry in the country field and no routing number format. #67478
- Fix – Stop counting test-mode WooPayments usage – a test-drive account or test-mode orders – when determining WooPayments incentives eligibility, so trialing WooPayments no longer disqualifies a store from incentives. Stores already disqualified this way get their eligibility re-determined once. #67154
- Fix – Store API: fall back to the billing address when a checkout request omits the shipping address and the cart needs shipping. #66409
- Fix – Sync trashed and untrashed order status to analytics so trashed orders no longer appear in reports, and remove deleted refunds from analytics lookup tables under HPOS. #64157
- Fix – Tighten authorization checks on the Stripe extension install redirect. #66880
- Fix – Tighten moderation checks on order reviews. #66881
- Fix – Tighten multisite site-membership handling during login. #66879
- Fix – Update Checkout total guard to run after addresses in the request have been applied. #67773
- Fix – Use gateway defaults when detecting enabled-state transitions from malformed settings. #66912
- Fix – Use the filename announced by the remote server (Content-Disposition/Content-Type) when force-downloading an external file whose URL has no filename in its path, such as Google Drive links. #66604
- Fix – Use the IPv6-capable ipify endpoint for external IP lookups. #66735
- Fix – Use the selected shipping method name for manually created orders. #66811
- Fix – Use the stable Block Selectors API. #66596
- Fix – Use WooCommerce Analytics to report legacy Select2 usage on storefront pages. #66652
- Fix – WC_Order_Item_Product::set_product() now resets variation_id to 0 when passed a non-variation product, so reassigning a line item’s product no longer leaves a stale variation ID that made get_product() return the previous variation. #66734
- Fix – WP-CLI’s blueprint command no longer risks a fatal error from loading its class twice. #67074
- Fix – WP-CLI no longer exits the whole process when the optional wp-cli/extension-command package isn’t installed. #67074
- Fix – Exclude WordPress editorial notes from the WooCommerce comment count cache, so adding a note no longer inflates the pending comment count shown in wp-admin. #67985
- Fix – Fix Add to Cart + Options redirect when a plugin modifies the form and WooCommerce is installed in a subdirectory #67798
- Fix – Fix CSV variation import saving a catch-all variation and a stray global attribute when a global-flagged row matches a custom parent attribute. #68002
- Fix – Fix dropdown text and the clear icon running under the chevron in admin single selects on WP 7.0+, including the Order edit Country, State and Customer fields. #67969
- Fix – Fix has_orders_pending_sync() incorrectly returning false when an order changes after a full HPOS backfill #67838
- Fix – Hide the customer email verification prompt when its email notification is disabled. #67994
- Fix – Prevent REST order updates from failing when a line item’s variation is deleted mid-update and the posted product resolves to the parent product. #67860
- Fix – Restore the wc_product_meta_lookup join when the Products list is filtered by “Out of stock”, so posts_clauses callbacks registered after WooCommerce can still reference the alias. #67890
- Fix – Suppress the customer email verification prompt when guest checkout is disabled. #67968
- Fix – Correct the introductory text on the order withdrawal form. #68125
- Fix – Harden password visibility toggle markup handling. #68176
- Fix – Preserve custom data store cleanup when removing order items. #68144
- Fix – Preserve replacement order items saved by extensions during deferred checkout item deletion. #68103
- Fix – Properly strip tags from product names in AJAX responses #68175
- Fix – Temporarily disable Helcim payment provider recommendations. #68119
- Fix – Allow product attribute term columns to preserve non-string content. #68273
- Fix – Fix unnecessary repeated processing of fragments in the GraphQL side of the dual API. #68241
- Fix – Harden order line meta value handling in the REST API. #68216
- Fix – Harden REST API key authentication route handling. #68199
- Fix – Improve REST API key authentication for WooCommerce routes reached through custom URLs. #68263
- Fix – Improve WooPayments onboarding profile data handling. #68236
- Fix – Prevent extension gallery markup from breaking variable product add-to-cart forms. #68219
- Fix – Resolve REST API routes the way WordPress does when the request URI has repeated leading slashes or percent-encoded characters. #68237
- Fix – Restore plain-text product names in AJAX search responses. #68191
- Add – Add a “Send test email” action to the emails listing page (block email editor). #66405
- Add – Add a feature-gated public order withdrawal endpoint. #66538
- Add – Add a filter for product attribute taxonomy row actions in the Attributes admin table. #66633
- Add – Add Airwallex to payment providers recommendations in Japan. #67359
- Add – Add an opt-in compute_totals mode to POST /wc/v3/orders/{id}/refunds that computes per-line refund amounts server-side from quantities, validated against the order’s refund history. #67613
- Add – Add an order withdrawal inbox notification for EU-selling live stores. #67295
- Add – Add a refund preview endpoint (POST /wc/v3/orders/{id}/refunds/preview) that returns server-computed refund totals and per-line breakdowns without creating a refund. #67613
- Add – Add beta support for videos in product galleries. #65396
- Add – Add CatalogSortOrder enum class for woocommerce_default_catalog_orderby option values and adopt it in the Product Collection block query builder. #66877
- Add – Add click tracking for the Things to do next task list. #66125
- Add – Add contextual image metadata to onboarding tasks via Task::get_image_url() and Task::get_image_alt(), so third-party tasks can supply their own illustration for My Home and the legacy dashboard setup widget. #66500
- Add – Add coupon validation filters for product_ids, product_categories, sale_items, excluded_items, excluded_product_ids, and excluded_product_categories in WC_Discounts. #64363
- Add – Add GoCardless as a recommended payment partner extension for GB (UK) merchants. #67336
- Add – Add Helcim to payment method recommendations in the United States and Canada. #66960
- Add – Add KOMOJU …
