Я хочу автоматически создавать пользователя в Discourse при новой регистрации в WordPress, но не хочу предоставлять им доступ, пока они не заполнят форму заявки.
Я могу использовать настройки «Синхронизация при входе» и «Требовать одобрения пользователей», чтобы решить большую часть этой задачи, но не знаю, как проверить, одобрен ли пользователь в Discourse.
Существует ли поле мета-данных пользователя WordPress, которое Discourse использует для хранения статуса одобрения пользователя в Discourse? Если нет, нужно ли мне использовать API для получения этой информации из Discourse?
Моя цель — показать кнопку на панели управления в WordPress с динамической ссылкой, которая меняется в зависимости от статуса одобрения.
Неодобренный пользователь — динамическая ссылка ведет на форму заявки в WordPress.
Одобренный пользователь — динамическая ссылка ведет на сообщество Discourse.
Я просмотрел несколько постов, но не нашел решения. Буду благодарен за помощь!
Я разобрался, как это реализовать, написав запрос для исследователя данных и вызвав его через API. Всё работает нормально, но теперь я выполняю вызов между двумя системами, что, очевидно, медленнее, чем если бы данные были сохранены в WordPress.
Если загрузка страницы будет медленной, я использую хук для самостоятельного сохранения данных об одобрении в пользовательском поле профиля. Прежде чем приступать к этому, было бы полезно узнать, делает ли это уже плагин WP-Discourse.
Привет @Himanshu_Singh, краткий ответ: плагин WP Discourse не хранит статус одобрения пользователя Discourse.
Рекомендую обратить внимание на действие wpdc_after_sync_sso, которое срабатывает после синхронизации записи пользователя, когда тот входит в WordPress.