Создайте пользователя в Страпи при создании в WordPress

#php #wordpress #rest #strapi

Вопрос:

У меня есть экземпляр WordPress для перечисления магазинов с использованием плагина Directory Pro и экземпляр Strapi с интерфейсом React в качестве панели управления клиентами для владельцев магазинов. Теперь я хотел бы синхронизировать данные между WordPress и Strapi для следующих случаев:

  • Пользователь создается в WP => создайте пользователя в Strapi
  • Пользователь изменяет свои данные => измените их в Strapi
  • Новый магазин добавлен в WP => добавьте его в Страпи
  • Пользователь покупает подписку => сохраните дату истечения срока действия в Strapi

Как я могу это сделать?

Я подумал о нескольких возможностях, но ни одна из них, похоже, не работает:

  1. Создайте плагин WP и используйте API Strapi => Например, используйте крючок user_register и вызовите API Strapi в функции php для регистрации пользователя. Проблема в том, как я могу получить пароль, чтобы отправить его Страпи? Другая проблема заключается в том, что Directories Pro использует собственные таблицы в базе данных, поэтому я понятия не имею, как получить к ним доступ или как подключиться к процессу создания.
  2. Используйте плагин WP Webhooks => Создайте прослушиватель webhook в Strapi и используйте плагин WP Webhooks для отправки ему данных. Но опять же, здесь те же проблемы.
  3. Используйте WP REST API из сценария входа в CCP => Каждый раз, когда пользователь пытается войти в CCP, сравните данные с WP через REST API, и если пользователь не существует в Strapi, создайте его с данными из WP REST API в Strapi. Это решает проблему с паролем, но создает новую… Что делать, если пользователь существует в Strapi и за это время изменил свой пароль или адрес электронной почты в WP? И как я могу получить доступ к его статусу подписки?

Есть ли для этого другое решение? Как бы вы синхронизировали данные между двумя разными CMS?