Создание кастомных тем и плагинов WordPress на базе React

Никита Калашников
Интеграция React с WordPress позволяет создавать кастомные темы и плагины с динамичным интерфейсом, что особенно актуально для современных приложений. Рассмотрим примеры, которые можно адаптировать под различные задачи.
Пример 1: Кастомная тема с React
Цель: Создать тему, использующую React-компоненты для отображения постов блога.
Настройка окружения:
- Установите тему WordPress (например, через
wp-content/themes). - Добавьте файл
functions.php, чтобы подключить необходимые скрипты:
1function enqueue_react_scripts() {
2 wp_enqueue_script(
3 'react-app',
4 get_template_directory_uri() . '/build/index.js',
5
React-компоненты: Создайте приложение с помощью Create React App или Vite. Например:
1// App.jsx
2import React from 'react';
3
4const PostList = ({ posts }) =>
Подключение к REST API WordPress: В React добавьте запросы к WordPress API:
1import { useEffect, useState } from 'react';
2
3const App = () => {
4
Пример 2: Кастомный плагин для формы обратной связи
Цель: Создать плагин с React-компонентом для формы отправки.
Структура плагина:
- Создайте папку плагина (например,
react-contact-form). - Добавьте файл
react-contact-form.php:
1<?php
2/*
3Plugin Name: React Contact Form
4*/
5
6function enqueue_contact_form_script() {
React-компонент: Создайте форму с валидацией:
1import React, { useState } from 'react';
2
3const ContactForm = () => {
4
Добавление REST API обработчика: В react-contact-form.php добавьте REST API endpoint:
1function handle_contact_form_submission(WP_REST_Request $request) {
2 $data = $request->get_json_params();
3 // Здесь можно добавить логику сохранения данных или отправки email.
4 return
Эти примеры можно модифицировать под конкретные задачи: создание лендингов, интернет-магазинов или порталов с динамическими интерфейсами. Напишите, если нужна помощь в реализации или детализировании функционала!