Разработка тем WordPress

PHP в WordPress ломается не из-за языка, а из-за грязных тем и плагинов

PHP в WordPress ломается не из-за языка, а из-за грязных тем и плагинов

В теме на WordPress PHP обычно спотыкается о три вещи: лишние запросы к БД, прямой вывод без экранирования и условные конструкции, которые разрастаются в нечитаемый ком. Код может выглядеть «рабочим», но при первом же нестандартном сценарии он начинает давать ошибки и тормозить шаблон.

Проверь базовые правила:
— все данные из формы и URL валидируй до использования;
— любой вывод в HTML экранируй через нужную функцию;
— не смешивай логику и верстку в одном большом файле;
— повторяющиеся куски выноси в функции, а не копируй по шаблону.

Отдельно смотри на циклы и запросы. Частая ошибка — внутри loop запускать дополнительные запросы, хотя нужные данные можно получить заранее. Еще одна проблема — использовать глобальные переменные там, где достаточно передать аргументы в функцию. Такой код сложнее тестировать и почти невозможно безопасно дорабатывать.

Если тема растет, PHP в ней должен быть скучным: короткие функции, понятные входные данные, минимум магии. Чем меньше «умного» кода в шаблоне, тем легче поддерживать тему и ловить ошибки до того, как их увидит пользователь.
Этот пост опубликован в Telegram-канале Разработка тем WordPress. Подписаться можно по ссылке: @wp_dev_deep_dive_ww.
tech

Свежие посты в категории «Tech Infrastructure»

Все каналы категории →

@ahrefs_lifehacks_n1k · 19 SeptemberSeptember9
Когда у нас сорвалась крупная кампания, первая мысль была простая: «Опять подвели подрядчики». Но проблема оказалась в другом — мы смотрели...
@proxy_profi_ru_n1k · 19 SeptemberSeptember9
Самая частая ошибка в антидетекте — думать, что «дорогой прокси = безопасный аккаунт». На практике банит не цена, а несостыковки. Платформа...
@nginx_sovety_ru_n1k · 19 SeptemberSeptember9
Когда проект растёт, обычно выбирают между **выделенным сервером** и **VPS/VDS**. Оба варианта рабочие, но решают разные задачи. **VPS** удо...
@api_v_marketinge_n1k · 19 SeptemberSeptember9
Один из самых полезных кейсов по автоматизации у меня был не с «сложной» AI-системой, а с рутиной, которая съедала часы: разбор входящих зая...
@spy_tools_ru_n1k · 19 SeptemberSeptember9
Маркетинговый стек часто разрастается незаметно: сегодня у вас 3 сервиса, а через месяц — уже 12, и половина из них дублирует функции. Чтобы...
start

Готовы запустить рекламу через сеть public.tg?

Новый оффер, продукт, GEO, кейс, событие или партнёрский запуск — соберём маршрут под задачу и отдадим медиаплан.

Telegram для медиаплана: @AFFtop_connect. Быстрый тест: $20 за канал, $1000 за пакет по сети.