REST API в теме WordPress: 5 ошибок, из-за которых ломается фронт
REST API в теме нужен не только для «современного интерфейса». Через него удобно подгружать посты, фильтры, формы и любые динамические блоки без перезагрузки страницы. Но чаще всего проблемы возникают не в PHP, а в том, как тема общается с эндпоинтом.
• Не проверяют nonce и capability там, где запрос меняет данные.
• Пишут fetch в шаблонах без отдельного JS-модуля: потом сложно отлаживать и переиспользовать.
• Возвращают слишком много полей: лишний JSON тормозит и усложняет фронт.
• Привязывают логику к DOM-структуре, а потом любая правка верстки ломает запросы.
Для темы лучше держать API-слой отдельно: регистрировать свои endpoints, явно описывать входные параметры и отдавать только то, что нужно интерфейсу. Если данные публичные — кэшируйте ответ; если приватные — проверяйте права доступа до формирования ответа. Это сильно упрощает поддержку и тестирование.
Еще одна типовая ошибка — использовать REST там, где хватает wp_localize_script и обычного шаблона. Если страница не требует асинхронного обновления, лишний запрос только усложнит тему. REST API нужен там, где есть динамика, а не «потому что так современнее».
Перед внедрением спросите себя: кто вызывает endpoint, какие данные он возвращает и что сломается, если поменяется верстка. Если ответы на эти вопросы ясны, REST в теме будет работать стабильно.
Разработка тем WordPress
@wp_dev_deep_dive_ww
REST API в теме WordPress: 5 ошибок, из-за которых ломается фронт
Этот пост опубликован в Telegram-канале Разработка тем WordPress. Подписаться можно по ссылке: @wp_dev_deep_dive_ww.