WooCommerce

Опис

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 для створення, налаштування та масштабування магазину, щоб відповідати точним вимогам клієнта, роблячи покращення за допомогою розширень або власних рішень.

  • Використовуйте хуки (гачки) та фільтри для створення та модифікації функцій.
  • Інтегруйте практично будь-який сервіс, використовуючи надійний REST API та веб-хуки (веб-гачки).
  • Проектуйте та створюйте власні блоки вмісту за допомогою React.
  • Перегляд та зміна будь-якого аспекту основного коду плагіна.
  • Прискорюйте процес розробки, використовуючи надшвидкий CLI.

Основна платформа ретельно і часто перевіряється за підтримки спеціальної команди розробників, яка працює в різних часових поясах. Вичерпна документація оновлюється з кожним випуском, дозволяючи вам створювати необхідний магазин саме для ваших потреб.

Будьте частиною нашої зростаючої міжнародної спільноти

Активні, численні учасники швидкозростаючої спільноти WooCommerce допомагають досягти успіхів у комерції.

По всьому світу організовуються Зустрічі WooCommerce, які ви можете відвідувати безкоштовно та брати участь у їх роботі. Ці події – чудовий спосіб повчитися у інших, поділитися своїм досвідом та встановити зв’язок із однодумцями.

Також WooCommerce – постійний учасник WordCamp в різних регіонах. Ми будемо раді бачити і вас в наших рядах.

Зробіть свій внесок, робіть переклади

Розробку та підтримку WooCommerce здійснює компанія Automattic, розробник WordPress.com та Jetpack. Також з нами працюють сотні незалежних авторів і завжди є перспективи для зростання. Перейдіть в репозиторій WooCommerce GitHub, щоб дізнатися, який внесок ви можете зробити.

WooCommerce перекладено різними мовами, включаючи датську, українську та перську. Допоможіть локалізувати WooCommerce ще більше, додавши свою мову на translate.wordpress.org.

Підключення до 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 Мб або більше.
  • (Рекомендовано) Підтримка HTTPS.

Автоматичне встановлення

Автоматичне встановлення це найлегший шлях, оскільки WordPress бере на себе передачу файлів і вам не треба залишати свій браузер. Щоб зробити автоматичне встановлення WooCommerce, увійдіть до своєї майстерні WordPress, перейдіть до меню “Плагіни” та натисніть “Додати новий”.

У полі пошуку введіть “WooCommerce”, а потім натисніть кнопку “Пошук плагінів”. Відкриється детальна інформація про плагін, в тому числі номер версії, рейтинг і опис. Найголовніше, звичайно, ви можете встановити його! Натисніть “Встановити зараз”, а все інше зробить WordPress.

Ручне встановлення

Ручне встановлення передбачає завантаження нашого WooCommerce плагіну та відвантаження його на ваш вебсервер через ваш улюблений FTP додаток. Кодекс WordPress містить інструкції як це зробити тут.

Оновлення

Автоматичні оновлення повинні працювати безперебійно, але ми все-таки радимо створити резервну копію вашого веб-сайту.

Якщо у вас виникли проблеми зі сторінками магазину/категорії після оновлення, змініть постійні посилання, перейшовши до WordPress > Налаштування > Постійні посилання та натиснувши «Зберегти». Це повинно повернути посилання у нормальний стан.

Приклади даних

WooCommerce поставляється з деякими зразковими даними, які можна використовувати для перегляду вигляду продуктів; імпортуйте sample_products.xml через імпортер WordPress. Ви також можете використовувати основний імпортер CSV або наш розширення CSV Import Suite для імпорту sample_products.csv

Часті питання

Де я зможу знайти документацію WooCommerce та посібник користувача?

Для отримання допомоги з налаштування та конфігурування WooCommerce, будь ласка, звертайтеся до Початок роботи та Посібник нового власника магазину WooCommerce.

Для розширення або створення тем для WooCommerce, див. нашу документацію, а також Найкращі практики розробки плагінів.

Де можна отримати допомогу або обговорити WooCommerce Core з іншими користувачами?

Якщо ви застрягли, ви можете попросити допомоги на Форумі підтримки WooCommerce, дотримуючись цих вказівок, звернутися через Slack спільноту WooCommerce, або опублікувати в групі спільноти WooCommerce на Facebook.

Де я можу отримати допомогу щодо розширень, придбаних на WooCommerce Marketplace?

Щоб отримати допомогу щодо платних доповнень із магазину WooCommerce, спочатку перегляньте наш посібник із самостійного пошуку та усунення несправностей. Якщо проблема не зникне, будь ласка, зареєструйте заявку на підтримку через нашу службу підтримки. Наші спеціалісти із задоволенням нададуть вам відповідь протягом 24 годин.

У мене виникли проблеми при вході на WooCommerce.com, що робити?

Спочатку вирішіть загальні проблеми з входом за допомогою цього корисного посібника крок за кроком. До цих пір не працює? Зв’яжіться з нами.

Чи працюватиме WooCommerce з моєю темою?

Так! WooCommerce буде працювати з будь-якою темою, але можуть знадобитися додаткові налаштування теми. Якщо ви шукаєте тему з поглибленою інтеграцією WooCommerce, ми рекомендуємо Storefront.

Як оновити WooCommerce?

Ми маємо детальний посібник по оновленню WooCommerce.

Мій сайт перестав працювати, що мені робити?

Почніть з діагностики проблеми за допомогою нашого зручного посібника по усуненню неполадок.

Якщо ви помітили помилку після оновлення теми чи плагіну, між ними та WooCommerce можуть виникнути проблеми сумісності. Якщо проблема з’явилася після оновлення WooCommerce, може виникнути конфлікт між WooCommerce та застарілою темою чи плагіном.

У обох випадках ми рекомендуємо виконати тест на конфлікти за допомогою Health Check (що дозволяє вимкнути теми та плагіни без впливу на відвідувачів) або вирішити проблему шляхом використання стендового сайту.

Де я можу повідомити про помилки?

Повідомляйте про помилки через репозиторій WooCommerce GitHub. Крім того, ви можете відправляти повідомлення на нашому форумі підтримки. Обов’язково перевірте на форумах, чи не повідомляли інші користувачі про подібну помилку раніше.

Де я можу запросити нові функції, теми та розширення?

Робіть запити на нові функції та розширення, а також голосуйте за існуючі пропозиції на нашій офіційній дошці запитів нових функцій. Наші фахівці регулярно переглядають запити та вважають їх корисними для планування розробки продуктів.

WooCommerce чудовий! Чи можу я допомогти?

Так, можете! Приєднуйтесь до нашого репозиторія GitHub і слідкуйте за блогом, присвячений розробкам, щоб бути в курсі всіх новин проекту.

Де я можу знайти документацію по REST API?

Доступна детальна документація по REST API WooCommerce.

Мого питання немає в цьому переліку. Де я можу знайти більше відповідей?

Дізнайтеся більше в розділі Поширені питання.

Відгуки

05.08.2026 1 reply
Unfortunately, the latest WooCommerce update has been one of the worst experiences we’ve had in quite some time. Immediately after updating, our site became almost unusable. Page load times increased dramatically, both the frontend and admin became painfully slow, and overall server load skyrocketed. Tasks that previously completed in seconds were taking an extremely long time, making it impossible to manage orders or provide a good customer experience. After spending considerable time troubleshooting plugins, themes, caching, and server configuration, it became clear that the issues began with the WooCommerce update itself. Rolling back to the previous version immediately restored normal performance. Updates should improve stability and performance, not bring production websites to a standstill. Hopefully the development team investigates these performance regressions quickly, as they have the potential to impact many store owners. For anyone experiencing similar symptoms, rolling back to the previous stable release may be the quickest way to get your store operational again while waiting for a fix.
04.08.2026 1 reply
I am removing everything Woocommerce but still there is PLUGIN that is impossible to delete. I HAVE THIS APP.
02.08.2026 1 reply
Le plugin fonctionne parfaitement avec WooCommerce et Yalidine. Les wilayas et communes sont bien affichées, avec le choix entre livraison à domicile et Stop Desk, et les frais de livraison sont calculés correctement. J’ai rencontré un petit problème au départ, mais le développeur a été très réactif et a rapidement publié une mise à jour qui a corrigé le problème. Merci pour votre excellent travail et votre réactivité ! Je recommande vivement ce plugin.
Прочитати всі 4 813 відгуків

Журнал змін

11.0.0 2026-08-04

WooCommerce

  • Fix – Add a compatibility shim for the removed product block editor block registry to avoid third-party extension fatals. #65500
  • Fix – Add compatibility shims for the removed block templates PHP API to avoid third-party extension fatals. #65503
  • Fix – Add per-period refunds field to the legacy REST sales report so consumers can compute net sales per day or month (fixes #27552, #42694). #65467
  • Fix – Add referrerPolicy to address autocomplete fetch requests to ensure Referer header is sent even with restrictive site policies. #62967
  • Fix – Addressed cache invalidation gaps for product instance caching refresh. #65431
  • Fix – Add the WooCommerce debug group to HPOS CLI debug messages. #65701
  • Fix – Align email order item names consistently after product thumbnails. #66141
  • Fix – Align Woo Home in-app promo banner styling with updated admin card patterns. #65660
  • Fix – Allow decimal stock quantities below 1 to remain in stock when the woocommerce_stock_amount filter is overridden with floatval. The integer cast inside WC_Abstract_Product::validate_props() truncated values like 0.5 to 0, incorrectly flipping the product to “Out of stock”. #65023
  • Fix – Allow the “Regenerate the product attributes lookup table” tool (and the related abort and resume tools) to run via the REST API instead of failing with an “Invalid nonce” error. #66082
  • Fix – Allow users with the view_woocommerce_reports capability to access the Analytics Leaderboards REST endpoint and view leaderboard data. #65492
  • Fix – Avoid a critical Site Health warning when WooCommerce cannot verify uploads directory protection. #65757
  • Fix – Block add to cart: adding a product that is in the cart only inside a bundle (or only as a booking, add-on configuration, or recipient-differentiated line) now adds a new standalone line instead of showing an error or changing the existing line’s quantity. #65869
  • Fix – Blocks: Fix JS crash when the store returns a non-Error value in useCollection; convert it to a proper Error instance so the error boundary handles it gracefully. #64218
  • Fix – Blueprint: export SQL steps using a table prefix placeholder instead of the source site’s database prefix, so settings can be imported on sites that use a different table prefix. #65942
  • Fix – Cast refund amount values to float for PHP 8.1 TypeError fix. #64362
  • Fix – Check parent product visibility in get_variation AJAX endpoint before returning variation data #65209
  • Fix – Decode HTML entities in PTK pattern titles #65969
  • Fix – Disable the “Continue” button on the product CSV import page until a file is selected or a server path is entered. #66009
  • Fix – Fix ‘current-menu-item’ class not being added to the Shop page in the Page List block #65996
  • Fix – Fix – Make WC_Blocks_Utils::has_block_in_page() search nested blocks recursively. #63386
  • Fix – Fix/normalize the Store API cart/update-item route truncating decimal quantities when dispatching the cart item updated hook. #66312
  • Fix – Fix: allow empty customer session fields to override prior values in WC_Customer_Data_Store_Session #65633
  • Fix – Fix: ensure the dropdown inside Add to Cart + Options block render special character correctly. #66530
  • Fix – Fix: Improve color contrast for delete link in .wc-metabox to meet WCAG 2.2 AA requirements (SC 1.4.3) #65605
  • Fix – Fix: Sync active filters across multiple Product Filters blocks on the same page. #65622
  • Fix – Fix a Sass build error in the Cart proceed-to-checkout block and remove an invalid script module declaration from the Product Price block. #65749
  • Fix – Fix Checkout block shipping method UI after extension cart updates change the selected shipping rate. #66014
  • Fix – Fix custom place order button (shortcode checkout) never submitting the order when a shipping address block is present. Client-side validation now only counts visible invalid fields, so the collapsed “Ship to a different address?” shipping fields no longer block submission. #65933
  • Fix – Fix deferred product transient shutdown ordering before parent product sync. #66470
  • Fix – Fix deleting a newly added custom field on the order edit screen with HPOS enabled. #66132
  • Fix – Fix duplicate “Password Changed” admin notification email sent when a customer resets their password. #66145
  • Fix – Fixed incorrect order counts when custom query_args are added via the order list table prepare_items query args filter. #66207
  • Fix – Fixed quantity selector plus button size mismatch in Cart and Mini-Cart by replacing the fullwidth plus glyph with a standard plus. #65658
  • Fix – Fix email previews for orders with downloadable products. #65856
  • Fix – Fix encoded character in filter option label. #66446
  • Fix – Fixes 0 value attributes from being skipped when variation is added to cart directly #65725
  • Fix – Fixes checkout flow to not save shipping_method in customer meta #65544
  • Fix – Fix exception message info leak to non-admin API callers, null dereferences on missing parent product and order, and duplicate date query key in OrdersTableQuery. #65368
  • Fix – Fix express payment buttons missing a visible focus outline in Cart and Checkout. #65901
  • Fix – Fix false “incompatible extension” notice shown in the block editor for express payment methods whose client-side name differs from their server-side gateway ID. The compatibility check now matches on paymentMethodId (falling back to name). #66017
  • Fix – Fix fatal DB errors during upgrade on sites where HPOS was never enabled by adding a table existence check before attempting to restore the meta_key_value index on wp_wc_orders_meta. #65536
  • Fix – Fix fatal error in Analytics Customers DataStore when a plain WC_Order (rather than the Overrides\Order subclass) is passed to get_or_create_customer_from_order(), and harden date_last_active against a missing date_created by cascading through date_modified and date_paid before falling back to null. #64407
  • Fix – Fix fatal TypeError in ProductVersionStringInvalidator when a persistent object cache returns the cached variation parent ID as a string. #65496
  • Fix – Fix fatal TypeError in wc_modify_map_meta_cap() on PHP 8+ when get_userdata() returns false for an invalid user ID. #65506
  • Fix – Fix hierarchical selection and expansion in SearchListControl for multi-level categories #66023
  • Fix – Fix horizontal page overflow caused by the Settings UI tab bar including its padding outside the declared width. #65715
  • Fix – Fix insufficient color contrast on attribute placeholder text to meet WCAG 2.2 AA requirements. #65608
  • Fix – Fix My Account endpoint page titles showing the page title instead of the endpoint heading (e.g. “Orders”) in block themes when the cart is not empty. #65949
  • Fix – Fix order totals only filling half the width on the admin order screen at mobile widths. #65469
  • Fix – Fix oversized heading on the offline payment settings pages by setting the header font size explicitly instead of relying on the floating-header-scoped rule. #66044
  • Fix – Fix PHP fatal in the Product Collection upsells handler when the product reference is unresolved (editor preview), and stop the cross-sells handler from leaking unresolved product references into its results. #65909
  • Fix – Fix Product Collection block from marking the post as dirty when the editor loads. #65524
  • Fix – Fix Product Collection inner blocks when rendered inside Query Loop post content. #65637
  • Fix – Fix product description editor alignment in the classic product editor. #66087
  • Fix – Fix Quantity Selector block styles when outside the Add to Cart + Options block #66261
  • Fix – Fix refund amount validation message positioning #66248
  • Fix – Fix silent backslash corruption in Agentic Checkout buyer/address fields and Store API checkout field validation. Calling wp_unslash() on JSON request body data that is never magic-quoted was stripping real backslashes typed by the buyer. #65900
  • Fix – Fix silent backslash corruption in Store API (block checkout) address fields. Calling wp_unslash() on JSON body data that is never magic-quoted was stripping real backslashes from address_1, address_2, and other address fields. #65643
  • Fix – Fix SKU duplication corrupting hyphenated SKUs. Duplicating a product with SKU SKU-123 now correctly produces SKU-123-1 instead of SKU-124. #65423
  • Fix – Fix tax country code autocomplete to not be based on full country name #65879
  • Fix – Fix tax state code autocomplete: allow searching by state code and scope suggestions to the selected country #65882
  • Fix – Fix the daily log cleanup so it deletes all expired log files, not just the first 20. #66073
  • Fix – Fix the log entry context being written and displayed as invalid JSON (e.g. with backtraces or namespaced class names) in WooCommerce > Status > Logs. #65565
  • Fix – Fix the PSR-4 upgrade fallback fataling when a foreign Composer ClassLoader returns a non-array from getPrefixesPsr4() or a non-string from findFile(); validate both shapes so it degrades to no fallback instead. #65674
  • Fix – Fix the WooPayments test account activation flow requiring a second click when switching to live payments. #65895
  • Fix – Fix TypeError: string – string in get_formatted_order_total() on PHP 8.3 with refunded orders #65507
  • Fix – Fix undefined behavior and potential infinite loop in WC_Post_Data::do_deferred_product_sync when more products are deferred for sync while a deferred sync is running. #65664
  • Fix – For better compat, use order caps for HPOS placeholder posts. #58432
  • Fix – Generate the POS catalog feed in chunks across several Action Scheduler actions so large catalogs no longer exceed the host request timeout or Action Scheduler’s failure period mid-generation, and detect and restart stuck generation jobs that would otherwise stay pinned in progress forever. #65860
  • Fix – Hardens Store API product/review endpoints checks. #66065
  • Fix – Harden the in-place-upgrade PSR-4 fallback autoloader so its remaining unguarded paths degrade gracefully: a foreign Composer ClassLoader shape and a torn/partially-written class file mid-upgrade now leave the class unresolved instead of fataling, so a defensive class_exists() probe during an upgrade returns false rather than raising an error. #65630
  • Fix – Harden types handling in WC_Tax class get-methods. #65711
  • Fix – Hide Product Gallery arrows and thumbnails for products with one or no images in the editor. #66108
  • Fix – Hide unnecessary WooPayments business structure selection during onboarding. #66069
  • Fix – Improve cart table accessibility and spacing so screen readers announce line items as rows with the correct column headers. #65689
  • Fix – Improve contrast for product IDs in the Products list row actions. #65667
  • Fix – Improve text color contrast on the admin order edit screen so order data, line-item details, and column headers meet WCAG AA accessibility standards. #65714
  • Fix – Invalidate the correct meta cache group when the HPOS order meta corruption guard fires, so a corrupt legacy object-cache entry is re-read from the database instead of persisting across reads. #66554
  • Fix – Keep random Product Collection pagination consistent across pages. #65462
  • Fix – Lock the POS catalog feed file exclusively while writing so two overlapping generation processes can no longer interleave output into a corrupt feed. #65924
  • Fix – Log when the POS product feed directory’s .htaccess cannot be updated, and avoid overwriting an unreadable or custom file during the legacy upgrade. #65621
  • Fix – Mark grouped products add to cart table as presentational #66096
  • Fix – Match orders and stock home panel border with other cards #65864
  • Fix – Move logic to enable or disable the compatibility layer in block templates from ‘template_redirect’ to ‘template_include’ to be more accurate with the resolved template #64504
  • Fix – Omit the LIMIT clause in OrdersTableQuery when an unlimited (-1) row count is requested, matching WP_Query nopaging behavior. Fixes a datatype mismatch error when the orders query runs against a SQLite database. #64396
  • Fix – Order editing: skip reserved internal meta keys when saving order items, so they cannot be added via the “Add meta” button and stored as invisible meta. #65471
  • Fix – Preserve Settings UI pending navigation after form-post saves. #65910
  • Fix – Preserve the “Pending review” product status when exporting and re-importing products via CSV, instead of importing them as drafts. #66194
  • Fix – Prevent a fatal error in the mini-cart and checkout review-order templates when a filter hooked on woocommerce_cart_item_product returns a truthy non-product value. #65685
  • Fix – Prevent a fatal TypeError on the HPOS Orders screen when a persistent object cache returns a corrupt order or meta cache entry: invalid entries are now discarded and re-read from the database instead of breaking the page. #66506
  • Fix – Prevent customer history metabox warnings for CPT-backed orders. #65921
  • Fix – Prevent duplicate wc_product_start_scheduled_sale and wc_product_end_scheduled_sale actions from piling up in Action Scheduler when concurrent processes schedule sale events for the same product. #65709
  • Fix – Prevent email previews from showing unrelated dummy products as downloadable items. #65865
  • Fix – Prevent embedded WooPayments business verification from hanging when the Stripe loader fails. #65863
  • Fix – Prevent fatal error on System Status page when log directory does not exist (e.g. when logging is disabled). #65403
  • Fix – Prevent non-rate package metadata from invalidating cached shipping rates. #65541
  • Fix – Prevent order items from being lost when order resume fails between removing items and saving the order. #64326
  • Fix – Prevent PHP 8.5 deprecation notices when an order tax item has no matching tax rate. #65706
  • Fix – Prevent Product Collection filter resets from clearing lifted collection controls. #66022
  • Fix – Refresh product archive rewrite rules after the Shop page permalink changes. #65967
  • Fix – Register a WooCommerce-scoped Composer PSR-4 fallback autoloader so that future in-place upgrades can resolve newly-added first-party Automattic\WooCommerce classes under src/ that the in-memory Jetpack classmap snapshot would otherwise miss, preventing “class not found” fatals during the upgrade request. #65338
  • Fix – Reject attribute slugs whose taxonomy name (with the “pa_” prefix) exceeds WordPress’s 32-byte limit, instead of incorrectly counting characters. This lets users create attributes with multibyte slugs (Cyrillic, Chinese, etc.) that fit within the limit, and shows a live byte count next to the slug input so users can see how close they are to the limit before submitting. #64159
  • Fix – Reject refund IDs in Store API order authorization to prevent a fatal when wc_get_order() returns a WC_Order_Refund. #64568
  • Fix – Remove additional WooCommerce data when uninstalling with WC_REMOVE_ALL_DATA: the product_visibility taxonomy terms, the placeholder image attachment, and additional WooCommerce user meta. The Action Scheduler tables can also be removed by additionally defining the WC_REMOVE_ACTION_SCHEDULER constant. #65793
  • Fix – Remove the push notification preferences, shopper list, and customer email verification user meta when uninstalling with WC_REMOVE_ALL_DATA. #66468
  • Fix – Remove unnecessary font-weight override on the mini-cart quantity badge and use a theme-resolvable color for the count text in the checkout order summary item badge. #65647
  • Fix – Resolve downloadable file paths and Mini Cart lazy-loaded script URLs against the configured content directory and site URL instead of a hardcoded /wp-content location, so they work on non-default WordPress directory layouts (e.g. Bedrock or a custom WP_CONTENT_DIR). #65599
  • Fix – Resolve the local pickup tax location from the order’s own shipping line instead of attaching a per-call closure to woocommerce_order_get_tax_location during cart sync. #65603
  • Fix – Respect the attribute’s custom term order when creating all product variations. #65501
  • Fix – Restore reduced stock when an order transitions to failed, so inventory held by an order that reduced stock while on-hold (e.g. an accepted-but-pending SEPA/ACH payment) is released instead of staying reduced indefinitely. #66256
  • Fix – Sanitize instead of texturize the email address in the StoreAPI response #66148
  • Fix – Scope the order attribution install banner button styles to the banner, so they no longer center the content of every icon+text components button rendered on WooCommerce admin pages. #66206
  • Fix – Security hardening: pass allowed_classes => false to unserialize() in LookupDataStore to prevent PHP Object Injection via crafted cached data. #65426
  • Fix – Send cancelled order admin emails when pending orders are cancelled. #65855
  • Fix – Serialize mutations of the wc_pending_batch_processes option in BatchProcessingController with a short-lived database lock and a fresh re-read, so concurrent enqueue/dequeue/remove requests no longer clobber each other and silently drop or resurrect batch processors. #66539
  • Fix – Stop re-sending customer order email notifications when restoring orders from the trash. #65121
  • Fix – Store API: ensure the woocommerce_default_order_status filter is always removed after OrderController::create_order_from_cart(), even if order creation throws. #65417
  • Fix – Store API: limit and de-duplicate the attribute and taxonomy count requests accepted by the products/collection-data endpoint to prevent a single request from triggering an excessive number of database queries. #65420
  • Fix – Store API: validate address data on the checkout-order endpoint before it is persisted, so a rejected request can no longer modify an existing order’s address or totals. #65787
  • Fix – Structured data: emit a single Offer with the exact variation price (and inProductGroupWithID) when a variation-specific URL is requested, instead of the parent AggregateOffer price range, fixing Google Merchant “price mismatch” disapprovals. #66043
  • Fix – Tolerate settings section registry failures when resolving the Settings UI request context, preventing update-time fatals. #65975
  • Fix – Updates anchor rendering logic to not show an anchor tag when product image link is disabled #65682
  • Fix – Updates the product_shipping_class taxonomy to be private. #63146
  • Fix – Use a direct filesystem instance for log, import, product feed, and transient file operations inside the uploads directory, so they no longer fail on sites that have FS_METHOD set to an FTP-based method without complete credentials. #64666
  • Fix – Use a fixed black overlay color for the drawer instead of inheriting the theme palette. #65579
  • Fix – Use fixed colors for the coming soon footer banner instead of inheriting them from the active theme. #65580
  • Fix – Use HTTPS for all geolocation IP-lookup and geo-IP requests. Switch the IP-lookup services (ipify, ipecho, ident, tnedi) to HTTPS and replace the HTTP-only ip-api.com geo-IP provider with the HTTPS-based country.is, so visitor IP addresses are never sent over unencrypted connections. #66223
  • Fix – Use the checkout hold stock setting only for core checkout stock reservations. #66048
  • Fix – v4 Orders API: align fee/shipping can_be_refunded with the refund validator — compare on a tax-inclusive absolute basis (so discount/negative fee lines report refundable) and round to currency precision (so a fully-refunded line is not reported refundable on a sub-cent float residue). #65645
  • Fix – Variation bulk action “Set scheduled sale dates”: block submission when the sale end date is earlier than the sale start date, and clear sale dates submitted as blank instead of storing 1970-01-01. #66013
  • Fix – Warn when additional checkout fields are registered before the woocommerce_init action, which can load translations too early. #66172
  • Fix – Warn when an order status key is too long and can’t be stored. #66164
  • Fix – Improve lost connection detection on WooCommerce admin screens #66676
  • Fix – Restore 64px product thumbnails in the Mini Cart. #66747
  • Fix – Canonicalize non-string option values in Settings UI schemas so select and radio fields show the saved selection. #66933
  • Fix – Convert boolean Settings UI schema values the way the client does and canonicalize visibility values alongside their controller field. #66955
  • Fix – Preserve settings navigation when Payments sections fall back from the Settings UI. #66907
  • Fix – Prevent WordPress personal preferences from being exposed as customer metadata. #66840
  • Fix – Show the Save button when an experimental Settings UI page falls back to the legacy renderer. #66980
  • Fix – Stop the HPOS order meta corruption guard from treating extension-injected virtual meta rows (a meta_key and meta_value but no meta_id) as corrupt, which purged the meta cache and logged a warning on every read. #66837
  • Fix – Fix a fatal error on the shortcode checkout when a phone, postcode, or state validated field is registered outside the billing and shipping fieldsets. #67107
  • Fix – Temporary deactivate persistent product status counters and rollback to WordPress API usage. #67094
  • Fix – Add no-op WC_REST_Layout_Templates_Controller and WC_REST_Products_Catalog_Controller stubs so an in-place update from 10.9.x does not fatal when the 10.9 controller list instantiates a class whose file has already been swapped away. #67138
  • Fix – Revert the fixed end-prices order calculation changes from PR #63744, which caused tax-inclusive stores using the woocommerce_adjust_non_base_location_prices filter to charge the net amount on block/Store API checkout #67161
  • Fix – Revert the legacy script blocking change (#64431) that broke the classic cart and checkout on sites loading a second jQuery instance. #67363
  • Add – Add a “Send checkout recovery email” action to the order actions dropdown so merchants can manually send the Checkout Recovery email for pending or checkout-draft orders past the 1-hour abandonment threshold. #65136
  • Add – Add a contextual Marketplace recommendation card to the WooCommerce Orders screen, shown to eligible stores based on locally-evaluated promotion rules. #65970
  • Add – Add a native Settings UI page provider path for registered settings sections. #65975
  • Add – Add a new transactional abandoned cart recovery email that prompts customers to complete a pending checkout, behind the new abandoned_cart_recovery feature flag. #66393
  • Add – Add a recommendation card on the Abandoned cart recovery email settings page. #65136
  • Add – Add a resend action to the temporary-password notice on My Account so customers can request a fresh change-password email. #65821
  • Add – Add a setting to enable or disable backorder stock notification emails, plus a woocommerce_should_send_backorder_notification filter, mirroring the existing low stock and out of stock notifications. #65891
  • Add – Add a user profile control so admins can view and set a customer’s email-confirmation status. #65824
  • Add – Add a woocommerce_format_phone_number filter and a WC_Validation::is_phone_format() method. #66122
  • Add – Add CurrencyPosition enum class for woocommerce_currency_pos option values and adopt it in the Store API and Marketing Campaigns REST API. #66128
  • Add – Add customer email verification, letting shoppers securely link past guest orders to their account once they confirm ownership of their email address. #65822
  • Add – Add DimensionUnit enum class for woocommerce_dimension_unit option values and implement it across the codebase. #66064
  • Add – Added Tax extensions recommendations. #65786
  • Add – Add image_size query parameter to the products and product variations REST API endpoints, allowing consumers to request a specific registered WordPress image size. #64009
  • Add – Add option disabling filter drawer on smaller screens. #65671
  • Add – Add OrderUtil::custom_orders_table_data_sync_is_enabled() so extensions can cheaply check whether HPOS data sync is enabled without running the expensive is_custom_order_tables_in_sync() query. #65649
  • Add – Add refund preview endpoint (POST /wc/v4/refunds/preview) for server-side refund calculation #65335
  • Add – Add styling for settings UI shell header badges. #65825
  • Add – Add TaxDisplayMode enum class for woocommerce_tax_display_shop/cart option values and implement it across the codebase. #65812
  • Add – Add the foundation for POS staff management: an experimental point_of_sale_staff feature flag (off by default), a flag-gated orchestrator, and the pos_* capability access model that keys POS access on holding any pos_* WP capability. No runtime surface yet; the staff endpoint, attribution, and admin UI register behind the flag in follow-up changes. #65657
  • Add – Add theme.json support to breadcrumbs block #65460
  • Add – Add the POS preset layer to the capability model: capability bundles for the Cashier, Manager, and Admin presets, assigned or cleared per user via woocommerce_pos_* capabilities (never WP roles), with the assigned preset recorded in user meta and cleaned up on uninstall. Behind the off-by-default point_of_sale_staff feature flag. #65661
  • Add – Add the woocommerce_variable_product_taxes_influence_price filter. #65394
  • Add – Add Webflow platform to the CLI products migrator. #64866
  • Add – Add WeightUnit enum class for woocommerce_weight_unit option values and implement it across the codebase. #64422
  • Add – Add woocommerce_term_recount_product_count filter to _wc_term_recount. #64374
  • Add – Add woocommerce_validate_phone filter to allow customizing phone number validation #65817
  • Add – Allow POS catalog product feed files to be served by enabling file access on the feed directory while preventing directory listing. #65563
  • Add – Analytics: list failed order imports in the Import historical data section with a retry action. #65509
  • Add – Customers can now unsubscribe from Checkout Recovery emails via a one-click link in the email footer. #65136
  • Add – Inject default sibling-section navigation into native Settings UI page schemas that omit shell.sectionNavigation. #65975
  • Add – Make per-line refund_total optional on POST /wc/v4/refunds. When omitted, the backend computes the tax-inclusive refund total from the order line item’s unit price × quantity. The legacy explicit form (refund_total without quantity) is preserved for v3-style callers. #65439
  • Add – POST /wc/v4/refunds/preview: accept refund_total per line item for partial-amount previews (quantity now optional when refund_total is provided). For the quantity and tax-inclusive refund_total forms, preview and create split tax by the line’s stored total/tax ratio and round amounts identically, so a previewed amount matches the created refund to the cent. #65645
  • Add – Register a GDPR privacy exporter and eraser for shopper lists so admin Export/Erase Personal Data tools cover saved-for-later and wishlist data. #65251
  • Add – Schedule the abandoned cart recovery email to send 2 hours after a pending order is created, and cancel the pending send when the order leaves the pending status. #66393
  • Update – Customer email verification now confirms via a one-time login-gated link instead of a 6-digit code. #65971
  • Update – Deprecate the Point of Sale feature flag and remove its toggle from WooCommerce settings; POS-related functionality (settings page, product visibility, and transactional emails) is now always enabled. The flag setting remains readable via the REST API for mobile app compatibility. #65573
  • Update – Load the WordPress Design System tokens stylesheet on WooCommerce settings pages so Settings UI styles consume real design tokens. #66542
  • Update – Move several WooCommerce admin status notices to Site Health and show regeneration progress in status tools; deprecate the related WC_Admin_Notices/WC_Regenerate_Images notice callbacks and stop honoring the woocommerce_hide_* notice dismissal filters #64758
  • Update – Remove @woocommerce/create-product-editor-block package #65435
  • Update – Remove the deprecated product block editor feature, package, routes, assets, and extension APIs. #65500
  • Update – Render settings UI section cards with WordPress Design System components behind the settings-ui feature flag. #66456
  • Update – Replace PanelBody with ToolsPanel in All Reviews, Reviews by Category, and Reviews by Product inspector controls. #65799
  • Update – Replace PanelBody with ToolsPanel in Stock Filter inspector controls. #65625
  • Update – Replace PanelBody with ToolsPanel in the PageSelector component. #64935
  • Update – Update Algeria states from 48 to 58 wilayas; also correct DZ-11 spelling. #65385
  • Update – Update Product Filter Status block labels to use availability wording. #65803
  • Update – Update product publish panel catalog visibility layout and extension row ordering. #66080
  • Update – Update the Action Scheduler package to version 4.0.0. #65790
  • Update – Update the WordPress package catalog to WordPress 6.9 package versions. #65481
  • Update – Use the standard WordPress UI Notice for payment method eligibility notices in WooPayments onboarding. #66016
  • Update – Settings UI: hide the shell header for pages registered at the top level of settings, which keep the classic section links and a save button at the bottom of the page. Payments drill-down pages show the header with breadcrumbs in place of the top-level settings tabs. #66662
  • Dev – Add delivery-agnostic ProductShapeMapperInterface to the ProductFeed framework, deprecating ProductMapperInterface in its favor. #65720
  • Dev – Add internal helper methods on Refunds\DataUtils to support the upcoming refund preview endpoint. #65334
  • Dev – Add to Cart + Options: add extra e2e tests to cover skipped unit tests #66118
  • Dev – Audit Action Scheduler APIs usage. #65831
  • Dev – Bump grunt-contrib-cssmin to 4.x (clean-css 5) so the admin CSS pipeline preserves @container at-rules. #65842
  • Dev – Deprecate the Automattic\WooCommerce\Blocks\QueryFilters class. #65598
  • Dev – Fix product-reviews “can delete a product review” E2E flake by waiting for the trash AJAX to commit before navigating to the Trash view. #65911
  • Dev – Fix the Blocks e2e nightly suite: mount the released plugin at the canonical woocommerce folder via a wp-env mapping, instead of letting wp-env name the plugin folder after the release zip (e.g. woocommerce-trunk-nightly), which broke the test setup’s plugin-path assumptions. The generated test translations are mapped into the plugin’s languages directory the same way. Also resolve the active plugin path (WC_ABSPATH) for the sample product import. #65798
  • Dev – Force immediate analytics import mode in the analytics-data E2E spec so its orders import deterministically regardless of the store’s scheduled-import default; test-only, no changes to shipped code. #66097
  • Dev – Harden Blocks non-null assertion lint rule to error. #66010
  • Dev – Migrate Blocks e2e leaf utils (constants, test, types, wp-cli, get-test-translation, request-utils, navigation) and content-templates into the Core e2e suite under a blocks/ namespace; test-only, no changes to shipped code. #65628
  • Dev – Migrate Blocks e2e non-module assets (themes, test plugins, test data, lint rules) into the Core e2e suite under a blocks/ namespace; test-only, no changes to shipped code. #65442
  • Dev – Migrate Blocks e2e page-object utils (admin, editor, frontend, local-pickup, mini-cart, performance, shipping) into the Core e2e suite under utils/blocks/; test-only, no changes to shipped code. #65571
  • Dev – Migrate Blocks e2e specs into the Core e2e suite under tests/blocks and add a core testIgnore guard so the core e2e project does not collect them; the Blocks suite keeps running them from the new location. Test-only, no changes to shipped code. #65670
  • Dev – Migrate offline payment settings forms to DataForm. #65731
  • Dev – Mount E2E helper plugins as a directory and provision wp-cli.yml in-container so single-file Docker mounts no longer surface as empty files under gRPC FUSE. #65807
  • Dev – Prepare Marketplace JSX and …