Как и почему в 2024 году мы разрабатываем сайты для крупных клиентов на WordPress?
В статье обсуждается подход к разработке сайтов и приложений для крупных клиентов на платформе WordPress в 2024 году. Автор делится опытом построения архитектуры, использования современных технологий и инструментов для достижения высокой гибкости и удобства разработки.
Основные тезисы статьи:
Почему WordPress?
- WordPress — это мощный и популярный движок на PHP с удобной админкой и множеством расширений.
- Использование WordPress позволяет создавать кастомные решения для клиентов, сохраняя удобство управления и масштабируемость.
Подход к разработке
Архитектура на основе блоков и компонентов:
- Используется редактор Gutenberg, что позволяет строить страницы из готовых блоков (аналогично Tilda).
- Создаются shared-компоненты, глобальные шаблоны и бизнес-фичи, что облегчает переиспользование и поддержку кода.
Использование JavaScript:
- Код пишется на чистом JS с объектно-ориентированным подходом.
- Для сложных интерфейсов применяются React или Vue.js.
- Активно используется REST API для создания кастомных эндпоинтов.
REST API
- Используется для асинхронных запросов.
- Пример: создание эндпоинта для фильтрации новостей по таксономиям.
- Функция
register_rest_route
регистрирует маршруты, а колбэк-функции обрабатывают запросы.
Интеграция React-приложений
- React-приложения интегрируются с использованием пакета @wordpress/scripts.
- Для рендеринга используется
wp.element
(React и ReactDOM встроены в WordPress). - Пример: создание калькулятора в виде React-приложения.
- Все стили и скрипты разделены на три точки входа:
index.js
— для фронтенда.admin.js
— для админки.editor.js
— для редактора Gutenberg.- Подключение происходит через хуки WordPress:
wp_enqueue_scripts
,enqueue_block_editor_assets
,admin_enqueue_scripts
.
Заключение
WordPress остается актуальной платформой для разработки сложных и гибких решений благодаря возможности кастомизации, поддержке современных технологий и удобству управления. Такой подход позволяет создавать сайты, которые удовлетворяют требованиям крупных клиентов и обеспечивают удобство работы для разработчиков.
Источник https://habr.com/ru/articles/782530/