Какого хера functions.php абсолютно пустой??
Я хорошо умею читать код на PHP или JS. Обычно делаю сайты или функционал к ним с нуля, практически без плагинов или готовых решений. С плагином WooCommerce я не работал последние 2 года. Сегодня прилетела простая задача: нужно возле скидочной цены показать сколько процентов скидка. К примеру, цена товара — 1000р, а по скидке будет за 800р, значит возле 800 нужно показать -20%.
На первый взгляд, очень простая задача. DeepSeek сразу показал код-решение, который я добавил в functions.php и пошёл готовить себе кофе, так как задача практически закрыта. Когда пришёл обратно и сел за комп, я был «удивлён» от происходящего.
Сайт прилёг отдохнуть. Моя вина? Не знаю, но решать её точно мне. Открыл бегет — лучший хостинг из тех 14, с которыми я работал. Нашел файл, в который я добавил свой код и «удивился» во второй раз. Он. Сука. Был. Пустой. Какого хера?? Подумал я и полез скачивать вчерашний бэкап.
Сайт запустил в течении 10 минут. Обновил PHP код и проверил его работу на сайте.
По-моему, всё работает отлично — подумал я.
«Хер там» — сказал вариативный товар.
Нарисовалась следующая проблема, о которой я не знал — при выборе вариаций, новые цены подтягиваются через Ajax и перезаписывают мои проценты.
В моменте, я даже подумал, смогу ли я это сделать? Может лучше отдать, как есть и рассказать про нюансы в работе и ограничения в вариативных товаров.
Уже прошло полтора часа, а пятиминутная задача не сдвинулась с места. ПЗДЦ
Мне не хотелось погружаться так глубоко с этой «простой» задачей. И тут я придумал банально простое решение: мне не нужно считать процент на бэке, искать все возможные комбинации для товаров, чтоб всё учесть. Мне достаточно посчитать процент на фронте, когда обе цены уже пришли с сервера и доступны. Примерно за 10 минут я написал нужную функцию, дёргаю её при первой загрузки страницы и при выборе вариаций. Всё прекрасно заработало.
Не всегда нужно лезть глубоко под капот плагин, чтоб сделать простую задачу.
Набросайте огня под постом 👇
Post #677
537
- 🔥 23
- ❤ 2