После обновления установки Discourse на WordPress до последней версии я больше не могу публиковать посты с главной страницы сайта в Discourse. Вместо этого в панели Discourse внутри WordPress отображается сообщение:
«Ваш пост не удалось опубликовать в Discourse. Проверьте, правильно ли указан ваш имя пользователя Discourse на странице профиля WordPress».
Я проверил имя пользователя Discourse на странице профиля WordPress — оно совпадает с моим именем пользователя в Discourse (я являюсь администратором). Оно также совпадает с именем пользователя для публикации в настройках Discourse в WordPress в разделе «Подключение к Discourse».
Вот скриншоты всех мест, где, как я думаю, должно совпадать имя пользователя, и оно действительно совпадает, но ошибка сохраняется.
Не могли бы вы проверить вкладку настроек подключения WP Discourse и посмотреть, отображается ли в верхней части страницы сообщение «Вы подключены к Discourse»?
Имеет ли ваш пользователь разрешение на создание тем в категории Discourse, в которую вы публикуете? Можете ли вы создать тему в этой категории через пользовательский интерфейс Discourse?
Ошибка, возвращаемая Discourse, — это ошибка Forbidden. По какой-то причине API-ключ и имя пользователя для публикации, которые вы указали на вкладке «Подключения» в настройках плагина, не имеют права публиковать посты от вашего имени.
Попробуйте перейти на страницу /admin/api/keys и создать API-ключ для всех пользователей. Если у вас уже есть такой ключ, вы можете использовать его вместо создания нового. Скопируйте этот ключ в настройку «Имя пользователя для публикации» в WP Discourse, а затем измените имя пользователя для публикации с «Neumannium» на «system». Сохраните настройки подключения и убедитесь, что уведомление о подключении к Discourse по-прежнему отображается. После этого попробуйте опубликовать новый пост.
Хорошо, я сгенерировал новый API-ключ (для всех пользователей). Я вставил его в настройки плагина WP Discourse и изменил имя пользователя на system. Я сохранил изменения, а затем написал новый пост. Я получил ту же ошибку, и пост не был опубликован на форуме.
Я имел в виду, что нужно изменить имя пользователя, установленное как «Имя пользователя для публикации» на вкладке параметров подключения WP Discourse, на «system». Это предполагает, что вы не меняли имя системного пользователя на вашем сайте Discourse.
Если вы сделали это, но проблема всё ещё сохраняется, попробуйте удалить имя пользователя Discourse из настроек на странице профиля WordPress. После этого проверьте, сможете ли вы опубликовать пост. Если всё работает как ожидалось, пост будет опубликован от имени системного пользователя.
Я просто удалил своё имя пользователя со страницы профиля WP. Теперь там пусто. В настройках WP Discourse указано «system».
Я только что попытался опубликовать новую запись, и появилась та же ошибка: пост опубликовался на главной странице, а не на Discourse. Я заметил, что флажок «Опубликовать в Discourse» выглядит иначе, чем раньше. Или, возможно, я просто раньше не обращал на это внимания? В любом случае, он выглядит так. Это какая-то подсказка или нет?
Да, я тоже это вижу. WordPress обновил свои стили административной панели.
Я не уверен, в чём может быть проблема. Единственное, что ясно, — это то, что при попытке опубликовать пост вы получаете ответ 403 от Discourse. Сообщение, которое вы видите относительно имени пользователя, является предположением о причине проблемы, но, похоже, оно не подходит для вашего случая.
Попробуйте снять галочку с настройки сайта WP Discourse «Использовать полный контент поста» и посмотрите, сможете ли вы опубликовать отрывок из WordPress в Discourse? Эта настройка находится на вкладке «Настройки публикации» плагина.