Несколько вопросов и некоторые заметки
Однако при новых регистрациях они будут совпадать, поскольку вы используете DiscourseConnect. Я предполагаю, что вас это устраивает, и вас беспокоит только сама синхронизация (т. е. после создания аккаунта)?
Как вы представляете ситуацию, когда пользователь создаёт аккаунт в WordPress, но ещё не входил в Discourse? Аккаунта в Discourse тогда не существует. В таком случае поле «Имя пользователя Discourse» не будет редактируемым?
Обратите внимание, что вебхук «Обновить данные пользователя» (см. раздел «Вебхуки» в настройках WP Discourse) будет обновлять имя пользователя Discourse в WordPress, когда оно изменено в Discourse. Это одна из сторон двусторонней синхронизации, которую вы имеете в виду.
Таким образом, конкретно то, что вам нужно, — это чтобы плагин WP Discourse обновлял имя пользователя в Discourse при его изменении, верно?
Теперь о том, что это поле используется разными людьми для разных целей. Некоторые хотят иметь возможность редактировать это поле без изменения имени пользователя в Discourse, связанного с аккаунтом, который они используют через DiscourseConnect.
Однако существует относительно простое решение. Мы могли бы просто добавить action где-то здесь здесь, чтобы вы могли использовать PUT-запрос к Discourse для обновления имени пользователя в Discourse, то есть так, как вы делаете сейчас. Я бы просто добавил, что самый простой способ сделать это — использовать абстрагированный метод discourse_request из утилит плагина WP, то есть:
use WPDiscourse\Utilities\Utilities as DiscourseUtilities;
$path = ''
$args = array(
);
$response = DiscourseUtilities::discourse_request( $path, $args );
Используя как вебхук, так и обратный вызов action, вы получите двустороннюю синхронизацию так, как вы себе представляете, при условии, что вы учли два вопроса, которые я поднял выше.
С радостью рассмотрю и приму PR с добавлением action по такому принципу.