#php #wordpress #rest #strapi
Вопрос:
У меня есть экземпляр WordPress для перечисления магазинов с использованием плагина Directory Pro и экземпляр Strapi с интерфейсом React в качестве панели управления клиентами для владельцев магазинов. Теперь я хотел бы синхронизировать данные между WordPress и Strapi для следующих случаев:
- Пользователь создается в WP => создайте пользователя в Strapi
- Пользователь изменяет свои данные => измените их в Strapi
- Новый магазин добавлен в WP => добавьте его в Страпи
- Пользователь покупает подписку => сохраните дату истечения срока действия в Strapi
Как я могу это сделать?
Я подумал о нескольких возможностях, но ни одна из них, похоже, не работает:
- Создайте плагин WP и используйте API Strapi => Например, используйте крючок user_register и вызовите API Strapi в функции php для регистрации пользователя. Проблема в том, как я могу получить пароль, чтобы отправить его Страпи? Другая проблема заключается в том, что Directories Pro использует собственные таблицы в базе данных, поэтому я понятия не имею, как получить к ним доступ или как подключиться к процессу создания.
- Используйте плагин WP Webhooks => Создайте прослушиватель webhook в Strapi и используйте плагин WP Webhooks для отправки ему данных. Но опять же, здесь те же проблемы.
- Используйте WP REST API из сценария входа в CCP => Каждый раз, когда пользователь пытается войти в CCP, сравните данные с WP через REST API, и если пользователь не существует в Strapi, создайте его с данными из WP REST API в Strapi. Это решает проблему с паролем, но создает новую… Что делать, если пользователь существует в Strapi и за это время изменил свой пароль или адрес электронной почты в WP? И как я могу получить доступ к его статусу подписки?
Есть ли для этого другое решение? Как бы вы синхронизировали данные между двумя разными CMS?