10 августа 2026 года вышел релиз безопасности WooCommerce 11.0.1. Ниже мы кратко отметим его основные изменения.
- Параметры администратора инициализируются согласованно на всех страницах администрирования WooCommerce. Исправлен баг в настройках Payments, из-за которого могло появляться ложное предупреждение о несоответствии местоположения компании для магазинов за пределами США.
- Защита паролем распространяется на краткие описания товаров во встроенных элементах (embeds), блоках Product Summary и блочных шаблонах отдельных товаров. Покупатели должны ввести пароль для товара, прежде чем эти описания появятся.
- Store API теперь обеспечивает соблюдение глобального лимита использования купона при оплате существующего заказа.
- Токены корзины Store API считываются из одного источника запроса и проверяются перед загрузкой сессии клиента. Автоматический контроль (PHP_CodeSniffer) не даст написать плохой код в будущем.
- Теперь гостевые сессионные cookie используют более надежную схему хеширования с солью. Устаревшие cookie останутся действительными до истечения срока их действия, поэтому корзины покупок гостей сохранят свою актуальность после обновления.
- Отдельные закрываемые уведомления в блоках Cart и Checkout теперь санитизируются (очищаются) перед рендерингом. HTML-сущности в сообщениях об ошибках Store API отображаются как безопасный контент, а не как исполняемая разметка.
- Шорткод [ woocommerce_review_order ] рендерится только на управляемой странице просмотра заказа WooCommerce и только при наличии соответствующего ключа заказа. Запросы с других страниц или с неправильным ключом не возвращают содержимое заказа.
- Для внешних меток кнопок продукта проводится санитизация текста при отправке в REST API версий 1–4, а блок Product Button экранирует метки при выводе.
- Для автоматического сопоставления главной картинки товара с артикулом товара (SKU) требуется, чтобы у текущего пользователя была возможность редактирования товара (edit_product). Загрузка изображения не приведет к изменению товара, если у пользователя нет соответствующих прав доступа.
- Для активации Marketplace-подписки требуется использовать activate_plugins для плагинов или switch_themes для тем. Кроме того, конечная точка отклоняет неподдерживаемые типы товаров.
- Конечная точка установки темы в процессе онбординга проверяет наличие WP-разрешения install_themes. Пользователи без этого разрешения не смогут установить тему в процессе онбординга.
- Экспорт аналитических данных в CSV-файлы проверяет значение report_args на соответствие REST-схеме выбранного отчета. Неподдерживаемые значения orderby отклоняются независимо от того, осуществляется ли экспорт через REST или напрямую через PHP.
- В аналитических отчетах по заказам принимаются только распознанные столбцы с датами из опции woocommerce_date_type или аргумента запроса date_type. Неизвестные сохраненные значения заменяются на date_paid, а неизвестные значения для каждого запроса — на date_created.
- Для записи логов больше не требуется сканирование всей директории wc-logs, что снижает задержку при оформлении заказа в магазинах с большим количеством накопившихся логов. Процессы очистки обрабатываются ограниченными партиями до тех пор, пока накопившийся лог не будет пуст, а фильтр woocommerce_order_step_logging_enabled позволяет разработчикам отключать отладочное логирование при оформлении заказа без изменения порога для всего сайта.
- Список Orders совместим с обновленной разметкой list-table в грядущем WordPress 7.1 (в WordPress 7.1 ячейки основной таблицы-списка рендерятся как th вместо td). Флажки и адаптивные макеты корректно работают как со старой, так и с новой разметкой основных ячеек.
- Тест product-review с таблицей-списком принимает как старую разметку check-column, так и разметку, появившуюся в WordPress 7.1. В итоге больше не ломается задача Pre-release CI.
- Обновлен E2E-тест: теперь для страницы Add Product учитываются скрипты wp-tooltip и wp-sync, добавленные в WordPress 7.1 (кол-во скриптов увеличилось с 149 до 151 для Add Product).
Полный чейнджлог представлен по ссылке.
Источник: https://developer.woocommerce.com
