Вышла бета-версия WooCommerce 11.2.0. Ознакомьтесь с ключевыми изменениями, протестируйте ее и поделитесь своим мнением до выхода финального релиза. По плану версия 11.2.0 должна появиться 6 октября 2026.
Давайте рассмотрим главные ее особенности.
Улучшения сопоставления строк и процедуры очистки для CSV-импорта товаров
Инструмент импорта товаров из CSV выполняет сопоставление на основе глобальных уникальных идентификаторов. Если включена опция «Обновлять существующие товары» («Update existing products»), импорт теперь сопоставляет строки по GTIN, UPC, EAN или ISBN в случаях, когда отсутствуют ID или SKU. Приоритет сопоставления следующий: сначала ID, затем SKU, и в последнюю очередь — глобальный уникальный идентификатор. Если указан идентификатор (не пустой), но совпадения не найдено, строка пропускается, а не создает новый товар; также отклоняется попытка сопоставления с товаром другого типа, что предотвращает неявное изменение типа товара при обновлении.
Процедура очистки после импорта больше не выполняет глобальное удаление «осиротевших» записей, относящихся к вариациям, метаданным записей и связям wp_term_relationships. Ранее эти операции могли добавлять более минуты к времени импорта даже для небольших наборов данных в крупных каталогах и нередко приводили к удалению несвязанных данных; теперь очистка затрагивает только временные товары-заглушки, созданные в ходе конкретного импорта.
Поля для ввода даты в Additional Checkout API
API оформления заказа теперь поддерживает поля для ввода даты. Это позволяет расширениям и разработчикам собирать такую информацию, как даты рождения или предпочтительные даты доставки, непосредственно через блок Checkout.
В этих полях используется нативный элемент выбора даты в браузере, включая привычные элементы управления для мобильных устройств. Покупатели вводят дату в формате, соответствующем настройкам локали их браузера, однако в электронных письмах и сведениях о заказе дата отображается в формате, установленном на сайте.
Разработчики могут ограничивать выбор дат покупателями, задавая фиксированные пределы или временные интервалы относительно текущей даты. Например, магазин может разрешить выбор предпочтительной даты доставки в диапазоне от завтрашнего дня до конца следующих 30 дней. Эти ограничения действуют как в блоке Checkout, так и в формах раздела «My Account».
Настраиваемые электронные письма
В WooCommerce появилась возможность настройки электронных писем, связанных с запросами на аннулирование заказа: уведомлений для клиентов (подтверждение получения запроса) и уведомлений для владельцев магазинов (о поступлении запроса). Управлять этими письмами можно в разделе WooCommerce > Settings > Emails; там же можно задать получателей, добавить дополнительный текст, просмотреть превью письма и включить или отключить каждое из уведомлений.
Теперь владельцы магазинов могут адаптировать сообщения об аннулировании заказа под свой бренд и рабочие процессы, выбирать получателей уведомлений и отключать ненужные сообщения. Это позволяет сделать взаимодействие с клиентами более персонализированным, а также дает владельцам магазинов больше контроля над рабочими процессами и стилем коммуникации.
Расширенные возможности оформления
В ряд блоков были добавлены новые опции оформления. Эти стили дополняют те, что уже поддерживались данными блоками. Тема может использовать их для настройки внешнего вида магазина, а пользователи — переопределять их через глобальные стили (Appearance > Editor > Styles > Blocks) или непосредственно в настройках конкретного экземпляра блока.
- Product Image — поддержка стилей границы.
- Product Quantity — стили границы и тени; также применяются к селектору количества в корзине (Cart).
- Product Quantity — стили радиуса скругления углов.
- Product Quantity — стили цвета текста и фона.
- Product Filters — поддержка «прилепленного» (sticky) позиционирования.
- Chips — стили типографики, отступов и радиуса скругления углов.
Уведомления для разработчиков
Сообщения об ошибках PhotoSwipe больше не содержат URL-адреса изображений, загрузка которых не удалась. Заполнитель %url% больше не заменяется путем к изображению, загрузка которого не удалась; после обновления пользовательское сообщение об ошибке errorMsg, содержащее %url%, будет отображать этот токен в неизменном виде.
При фильтрации по дате для заказов и товаров теперь учитывается местный день магазина. Функции wc_get_orders() и wc_get_products() теперь интерпретируют строку даты (например, «2026-07-20») как день в часовом поясе магазина, а не по UTC. Изменения в запросах товаров затрагивают все магазины, а изменения в запросах заказов — только те магазины, где заказы по-прежнему хранятся как записи.
В ответах Store API, сообщающих о сбое при работе с сеансом корзины, больше не будет заголовков корзины. При ошибке загрузки сеанса корзины теперь возвращается код 500 без заголовков Cart-Token или Cart-Hash. Клиенты должны расценивать отсутствие этих заголовков как признак недоступности корзины, а не как создание новой корзины.
Теперь атрибуты товаров можно удалить и создать заново в рамках одной операции. Функция wc_delete_attribute() отменяет регистрацию таксономии немедленно, а не в конце выполнения запроса, благодаря чему слаг (например, pa_color) можно создать повторно сразу же после удаления. Код, который продолжает обращаться к атрибуту после его удаления, должен воспринимать его как отсутствующий.
Удаление экспериментальных API для восстановления брошенных корзин и оформления заказа с использованием агентов (Agentic Checkout). Обе экспериментальные функции, отключенные по умолчанию, удалены (включая маршруты wc/agentic/v1), при этом заменяющие их конечные точки не предусмотрены. Обновление базы данных в версии 11.2 отменяет очередь восстановительных действий и удаляет таблицу wc_email_unsubscribes.
Изменения в настройках и регистрации email. Вызов register_wp_admin_settings перенесен с приоритета 10 на 999 в хуке admin_init; благодаря этому расширения, добавляющие страницы настроек или классы для работы с электронной почтой во время admin_init, больше не будут срабатывать слишком поздно. Вызов remove_action() для этого действия без указания приоритета теперь просто игнорируется.
Изменения в механизме валидации вебхуков для записей, перемещенных в корзину или восстановленных из нее. Метод WC_Webhook::is_valid_post_action() теперь определяет ресурс на основе ID записи, а не глобальных данных запроса; это устраняет случаи некорректной отправки событий для других ресурсов (например, когда перемещение купона в корзину приводило к срабатыванию события product.deleted). Перемещение вариативного товара в корзину в ходе запроса из фронтенда теперь срабатывает один раз для каждой вариации.
Изменения в аргументах пагинации для архивов товаров. Начиная с версии WooCommerce 11.2, аргументы пагинации по умолчанию для товарных архивов без шорткодов в классических темах будут использовать структуру base и format, ожидаемую функцией WordPress paginate_links().
Изменение порядка применения купонов. При включенной функции последовательного применения скидок купоны с одинаковым приоритетом и ограничениями по товарам теперь применяются в том порядке, в каком их ввел покупатель, а не по принципу «сначала купон с наименьшим номиналом». Поскольку расчет по каждому купону производится на основе цены, оставшейся после применения предыдущего, итоговая сумма заказа может варьироваться.
Редактор заказов в админ-панели больше не принимает отрицательные значения количества для позиций заказа. AJAX-эндпоинты для позиций заказа теперь отклоняют значения количества ниже минимально допустимых, а фильтр woocommerce_quantity_input_min_admin теперь передает контекст и обеспечивает проверку на стороне сервера. Передача пустой строки (`»`) для отмены минимального ограничения больше не работает — вместо этого следует передавать числовой нижний порог.
В классических шаблонах товаров родительские категории теперь отображаются первыми. Файл single-product/meta.php передает новый параметр сортировки breadcrumb в функцию wc_get_product_category_list(), в результате чего порядок «Cameras, Electronics» меняется на «Electronics, Cameras». Фильтр woocommerce_product_meta_category_orderby позволяет восстановить прежний порядок.
С полным списком всех изменений вы можете ознакомиться по следующей ссылке.
