PHP в WordPress ломается не там, где вы ищете: 5 типовых ошибок в теме
Чаще всего проблемы в теме появляются не из-за «сложного PHP», а из-за мелочей: лишний вывод, неверные условия и работа с данными без проверки.
— Не вызывайте get_post() и the_post() там, где хватает уже подготовленного $post.
— Перед выводом всегда экранируйте: esc_html(), esc_attr(), wp_kses_post().
— Не полагайтесь на существование метаполя: проверяйте пустые значения и тип.
— Для пользовательского ввода не используйте его напрямую в SQL, атрибутах и классах.
— Логику шаблона не смешивайте с тяжелыми вычислениями: выносите в функции и хуки ⚙️
Отдельный источник багов — условные теги. is_front_page(), is_page(), is_single() работают по контексту запроса, поэтому в цикле и вне его могут давать разный результат. Если поведение «плавает», сначала проверьте, где именно вызывается код.
Еще один важный момент: при подключении файлов и шаблонных частей держите зависимости явными. Если функция нужна только в одном месте, не разбрасывайте ее по теме. Чем меньше неявных связей, тем проще отлаживать и переиспользовать код.
Держите PHP в теме коротким, предсказуемым и проверяемым: тогда большинство ошибок исчезает еще до запуска сайта.
Разработка тем WordPress
@wp_dev_deep_dive_ww
PHP в WordPress ломается не там, где вы ищете: 5 типовых ошибок в теме
Этот пост опубликован в Telegram-канале Разработка тем WordPress. Подписаться можно по ссылке: @wp_dev_deep_dive_ww.