В этой статье я покажу вам, ребята, как создать приложение React в качестве плагина Wordpress и, кроме того, как передать данные из PHP/Wordpress в ваше приложение React.
Вы можете просмотреть этот проект в Github здесь: https://github.com/wbaxterh/ReactWithWP
Начать довольно просто — создайте каталог /yourplugin с файлом PHP имени вашего плагина (yourplugin.php) следующим образом:
<?php /** * Plugin. * @package reactplug * @wordpress-plugin * Plugin Name: React With WP Plugin * Description: ReactJS plugin for Wordpress * Author: Wes Huber * Author URL: https://weshuber.com * Version: 1.0 */ ?>
Это основной синтаксис плагина Wordpress. Теперь давайте создадим наше приложение ReactApp внутри этого плагина. Если вы работаете локально, как я — просто откройте каталог плагина с помощью VSCode.
Откройте терминал и введите команду:
npm init
Выполните шаги в терминале, и он создаст для вас файл package.json.
Теперь установите скрипты WP из пакета wp-element от Wordpress.org
npm install @wordpress/scripts --save-dev
Затем я также добавляю скрипт сборки в файл package.json.
"scripts": { "build": "wp-scripts build" }
Нам также нужно создать совместимый с Wordpress файл webpack.config, например:
const defaults = require('@wordpress/scripts/config/webpack.config'); module.exports = { ...defaults, externals: { react: 'React', 'react-dom': 'ReactDOM', }, };
Затем я также создаю файл style.css — вы можете пока оставить его пустым. Если вы пропустите это, обязательно удалите импорт в следующем блоке кода.
Теперь мы можем попасть в само приложение React. Создайте новую папку в каталоге вашего плагина с именем /src
В папке src создайте файл index.js следующим образом:
const { render } = wp.element; import App from './App'; import './style.css'; if (document.getElementById('my-react-app')) { render(<App />, document.getElementById('my-react-app')); }
Затем создайте еще один файл с именем App.js (основной компонент вашего приложения), и для этого примера мы напечатаем простой «Hello World».
const App = () => { return ( <div class="container"> <h2>Hello World From React App {data.email}</h2> </div> ); }; export default App;
Хорошо — теперь, когда наше приложение React настроено, давайте вернемся к PHP-файлу нашего плагина и добавим шорткод для отображения приложения.
Мы также используем функции wp_get_current_user() и wp_localize_sript() для получения и передачи электронной почты вошедшего в систему пользователя в наше приложение.
Теперь добавим дополнительный код для получения и сохранения информации о пользователе в нашем файле App.js.
Затем в вашем терминале запустите
npm run build
Если это сработало — тогда папка сборки должна была быть создана в каталоге вашего плагина. Это скомпилированный код, необходимый для запуска вашего приложения.
Теперь активируйте свой плагин и добавьте свой шорткод на страницу или запись и посмотрите, работает ли он!
Это сработало для меня! Вы также можете увидеть, как возвращается моя электронная почта пользователя.
Спасибо за чтение — дайте мне знать ваши мысли. Это было вдохновлено тем, что я недавно сделал большой проект, в котором использовалось приложение React в качестве плагина. Это также в основном основано на другой статье здесь: https://javascript.plainenglish.io/how-to-add-a-react-app-to-wordpress-pages-61aee723d607, которая мне очень помогла!