PHP

Заметки по PHP: сниппеты, отладка, работа с массивами, датами и API.

Фотореалистичный кадр технического помещения: ряд из пяти одинаковых серых металлических шкафчиков, на четырёх висят латунные навесные замки, а у ближнего проушина пустая и дверца приоткрыта, внутри видны папки с бумагами, на полу лежит латунный ключ — иллюстрация к новости о критической уязвимости CVE-2026-87902 в ядре WordPress.Cyber News
24 сентября 2026 г.

Критическая дыра в ядре WordPress: CVE-2026-87902 позволяет подключить чужой PHP-файл без авторизации

WordPress выпустил внеплановый релиз 7.1.2 и бэкпорты до 4.7.37: ошибка в get_page_template() десять лет позволяла неавторизованному посетителю подключить произвольный PHP-файл вне темы, а при двух совпавших условиях — выполнить код на сервере.

Читать →
Фотореалистичный кадр на деревянном столе: мелкое стальное сито на керамической миске, в миске просеянные макароны-буквы, а в сите остались камешки, обрывок бечёвки, проволочная стяжка и кусочек скорлупы, на заднем плане в расфокусе ноутбук с редактором кода — иллюстрация к статье об очистке строки в PHP от лишних символов.
12 сентября 2026 г.

Как очистить строку в PHP от лишних символов: пробелы, кавычки, мусор и где на самом деле защита

Данные из форм приходят с пробелами по краям, неразрывными пробелами из копипаста, случайными кавычками и невидимыми управляющими символами. Разбираем инструменты PHP для очистки строк — trim, str_replace, strtr, preg_replace, filter_var — собираем готовую функцию нормализации и отдельно объясняем, почему вырезание символов не заменяет экранирование и подготовленные запросы.

Читать →
Фотореалистичный кадр стола приёмки товара: кожаный рюкзак стоит на почтовых весах, вдоль него растянута жёлтая рулетка, рядом штангенциркуль и крафтовая бирка со штрихкодом, слева монитор с админской карточкой товара — длинная форма с вкладками и полями — иллюстрация к статье о получении всех данных товара WooCommerce по его ID.WooCommerce
12 сентября 2026 г.

Как получить все данные товара WooCommerce по его ID: объект WC_Product и его методы

Название, цена, остаток, вес, картинки, атрибуты, произвольные поля — всё это отдаёт объект товара, который возвращает wc_get_product(). Шпаргалка по методам WC_Product по группам, разница между типами товаров, работа с вариациями, датами и ценами, а также способ получить все данные разом.

Читать →
Фотореалистичный кадр рабочего стола: на переднем плане проволочная магазинная корзинка с серым керамическим чайником на упаковочной бумаге, за ней открытый ноутбук с карточкой того же чайника, где под ценой контурная кнопка с иконкой корзины и стрелкой вместо обычной кнопки покупки — иллюстрация к статье о замене кнопки «В корзину» на «Перейти в корзину» для товаров, уже добавленных в корзину WooCommerce.WooCommerce
12 сентября 2026 г.

Кнопка «Перейти в корзину» вместо «В корзину», если товар уже добавлен: WooCommerce без правки шаблонов

Покупатель уже положил товар в корзину, а карточка по-прежнему предлагает «В корзину» — так появляются случайные дубли. Показываем, как заменить кнопку на «Перейти в корзину» для товаров, которые уже в корзине: хуками, без правки шаблонов, в карточке товара и в каталоге, с учётом Ajax-добавления и кеширования страниц.

Читать →
Фотореалистичный кадр сверху на прилавок небольшой лавки: планшет в подставке со страницей корзины, где у средней строки выделено поле количества, а блок итогов полупрозрачный с кольцом загрузки и под таблицей пустое место без кнопок, рядом плетёная корзинка с мылом, свечами и банкой джема, слева крафтовые пакеты и бечёвка — иллюстрация к статье о скрытии кнопки «Обновить корзину» и автообновлении корзины WooCommerce.WooCommerce
12 сентября 2026 г.

Как скрыть кнопку «Обновить корзину» в WooCommerce и обновлять корзину автоматически

Кнопка «Обновить корзину» — лишний шаг для покупателя: изменил количество, забыл нажать, и итог не пересчитался. Показываем, как заставить классическую корзину WooCommerce обновляться сама при изменении количества, спрятать кнопку одним CSS-правилом и почему в блочной корзине делать ничего не нужно.

Читать →
Фотореалистичный кадр сортировочного стола склада: три открытых крафтовых ящика с пустыми бирками, в среднем — настольная лампа с картонной биркой со штрихкодом на бечёвке, рядом смартфон с экраном редактирования товара, где в дереве категорий отмечена одна галочка — иллюстрация к статье о том, как получить категорию товара WooCommerce по его ID.WooCommerce
12 сентября 2026 г.

Как программно получить категорию товара WooCommerce по его ID

Название, ID или ссылка на категорию товара нужны в шаблонах, письмах и интеграциях постоянно. Разбираем безопасные способы получить категории по ID товара: get_the_terms(), wc_get_product_terms(), метод get_category_ids() у объекта товара, выбор главной категории, вариации и готовый вывод со ссылками.

Читать →
Фотореалистичный кадр с низкого ракурса: на потёртом дубовом столе дорожка настоящих хлебных крошек с обломком корочки ведёт к монитору и обрывается, не доходя до него, на экране в расфокусе страница товара с короткой полоской навигации вверху и крупной карточкой керамической кружки — иллюстрация к статье об удалении последнего элемента из хлебных крошек WooCommerce.WooCommerce
12 сентября 2026 г.

Как убрать последний элемент из хлебных крошек WooCommerce

На странице товара хлебные крошки заканчиваются его же названием — тем, что и так стоит в заголовке. Показываем, как убрать последний элемент одним фильтром woocommerce_get_breadcrumb без правки шаблонов, что при этом происходит с разметкой BreadcrumbList и как быть, если крошки выводит Yoast или Rank Math.

Читать →
Фотореалистичный кадр складского стеллажа небольшого интернет-магазина по диагонали вглубь: на переднем плане открытый ноутбук со страницей каталога, где верхние ряды карточек товаров обычные, а нижний ряд приглушён серым, за ним полки — ближние плотно заставлены картонными коробками, дальние полупустые с одинокими коробками и пустыми ячейками — иллюстрация к статье о сортировке товаров по наличию в WooCommerce.WooCommerce
12 сентября 2026 г.

Как упорядочить товары по наличию в WooCommerce: сначала в наличии, потом остальные

Каталог, где на первом экране половина карточек с плашкой «Нет в наличии», выглядит заброшенным. Разбираем, как в WooCommerce показывать товары в наличии первыми, затем под заказ и только потом отсутствующие — одним фильтром, с сохранением сортировки, которую выбрал покупатель.

Читать →
Тёмный рабочий стол разработчика: на изогнутом мониторе дашборд мониторинга ошибок с синими графиками и красным всплеском, рядом второй экран с логами в терминале, клавиатура и телефон с уведомлениемЗаметки
11 сентября 2026 г.

Мониторинг ошибок PHP на проде: как узнавать о падениях первым

На проде вывод ошибок выключен — и падение легко остаётся незамеченным неделями. Разбираем, как настроить автоматический сбор ошибок PHP: базовые настройки интерпретатора, подключение SDK, что нельзя отправлять наружу, сколько это стоит и когда выгоднее поднять трекер на своём сервере.

Читать →