Я пытался искать, но находил темы о том, как сделать это наоборот, а не так, как нужно мне…
Мой сайт на WordPress выступает в качестве провайдера DiscourseConnect для моего форума Discourse, поэтому пользователи входят на форум, используя свои учётные записи WordPress.
Раньше у меня было так, что вы заходили на сайт, чтобы обновить аватар, используя плагин, и он загружал его в Discourse, но я хотел бы сделать наоборот, потому что функционал аватаров в Discourse гораздо лучше. Я хочу, чтобы сайт автоматически подтягивал аватар из форума Discourse при входе или когда он меняется.
Сейчас я не за компьютером, но вот шаги, которые я предпринял. Вы сможете повторить их, если ознакомитесь с различными инструментами, которые я использовал:
Создайте вебхук Discourse, который будет отправлять запрос в PHP-файл вашего плагина или темы каждый раз, когда кто-то обновляет свой профиль.
На PHP-странице получите полезную нагрузку (payload), которая включает идентификатор пользователя (User ID). Извлеките оттуда URL аватара и сохраните его как пользовательское мета-поле для этого пользователя в WordPress.
Обновите код в WordPress, отвечающий за вывод аватара пользователя, добавив функцию, которая вместо этого возвращает значение из этого мета-поля.
Я как раз думал, не могли бы вы поделиться использованными фрагментами кода? Мы могли бы добавить их сюда в документацию WP/SSO или в обучающие материалы сообщества?