WordPress Доработки и ошибки

arendadecora.ru - аренда фотозон и декора

WooCommerce: корзина, состав фотозоны, автор и PHP 8

На сайте студии АрендаДекора (Woodmart + WooCommerce) починил гонку AJAX при бронировании из каталога, заменил нестабильное поле дней на дату аренды, почистил битые иконки состава фотозон по всему каталогу, добавил загрузку фото в блок «Об авторе» и убрал фаталы PHP 8 на карточке товара и портфолио.

Задача

На сайте аренды декора и фотозон сломалось бронирование из каталога: в корзину уходил один товар, количество больше единицы для гостей не учитывалось, поле «количество дней» работало нестабильно. Отдельно часть иконок в блоке «Состав фотозоны» отдавала 404 из‑за пробелов в URL, в статьях не было нормального фото автора, а отдельные карточки товара и портфолио падали с критической ошибкой PHP 8.

Что сделано

  • Диагностика гонки AJAX: Woodmart и WooCommerce одновременно обрабатывали form.cart в каталоге
  • Каталог: отдельная форма loop-add-to-cart, блокировка кнопок на время добавления, qty из поля количества в data-quantity
  • Checkout: убрал самописное «количество дней», поставил datepicker даты аренды с валидацией и сохранением в заказ
  • Состав фотозоны: trim и очистка %20 в URL иконок на выводе плюс массовая чистка meta у 27 товаров из 102
  • Блок «Об авторе»: поле загрузки фото в профиле пользователя и вывод в author-bio вместо пустого Gravatar
  • PHP 8: безопасный stock progress bar Woodmart при пустом _stock и безопасный get_the_excerpt для конфликта Beaver Builder и WPBakery

Подробнее о проекте

Студия АрендаДекора

arendadecora.ru - аренда фотозон и декора для мероприятий в Москве на WordPress, WooCommerce и теме Woodmart. Каталог с кнопкой «Бронировать», карточки с тарифами по дням и самописный блок состава фотозоны. Задача была не в редизайне, а в рабочих сценариях бронирования и стабильности витрины.

Каталог и бронирование

В каталоге при быстрых кликах «Бронировать» в корзину попадал один товар: конфликтовали AJAX Woodmart и WooCommerce. Для гостей количество из поля qty уходило как 1. Развёл формы, синхронизировал quantity и проверил сценарий с несколькими позициями. Поле дней на checkout заменил на дату аренды с сохранением в заказ.

Состав фотозоны без битых иконок

Во вкладке «Состав фотозоны» часть иконок отдавала 404: в meta сохранялись URL с хвостовыми пробелами и %20. Почистил вывод и прогнал базу - 27 товаров из 102 с составом. На витрине снова grid, bag-tick и остальные SVG.

Карточка после PHP 8

Страницы вроде «Неуловимый Джо» и часть портфолио обрывались на середине. Woodmart падал на round('') при пустом остатке, а Beaver Builder ломал get_the_excerpt в сетке WPBakery. Обернул оба места безопасными обработчиками в child-теме - страницы открываются целиком.

Блок «Об авторе»

В статьях блок автора тянул пустой Gravatar. Добавил поле «Фото для блока О авторе» в профиле пользователя и вывод в шаблоне author-bio - клиент загружает портрет из админки без правки кода.

Результат

  • Несколько товаров и нужное количество стабильно попадают в корзину из каталога
  • На checkout выбирается дата аренды и она уходит в заказ
  • Иконки состава фотозон отображаются по всему каталогу
  • В статьях можно задать фото автора из профиля
  • Карточки товара и портфолио без критических ошибок PHP 8
Время на работу
несколько дней
Стоимость
от 20 000 ₽
Платформа
WordPress + WooCommerce + Woodmart

У вас похожая задача?

Опишите задачу - разберу и скажу, как лучше решить и сколько это займёт.

Алексей - отвечу в течение часа