Ошибки запроса категории

Мой сайт WordPress с последней версией WP Discourse на каждой записи под вкладкой Discourse возвращает:

Произошла ошибка при получении списка категорий из Discourse.

В логах полно ошибок:

[2025-09-22 00:10:14] comment.ERROR: sync_comments.get_discourse_category {"message":"Ключ categories не найден в ответе от Discourse."}

Просто так, на всякий случай, я создал новый API-ключ.

Я проверил все настройки три раза.

У меня есть второй сайт WordPress, который без проблем получает категории с того же сервера Discourse.

Что я упускаю?

Может, посмотрите этот пост (и тему)

Я думал, что проблема в этом: по какой-то причине я создал одного пользователя, но это ничего не изменило.

Теперь я нашёл более вероятную причину: по какой-то причине наш администратор сервера всё ещё использует PHP версии 7.4. Мне нужно, чтобы они обновили его.

Нет, версия PHP не является проблемой. Сейчас запущена PHP 8.3, но во всех сообщениях по-прежнему отображается ошибка категории Discourse.

В логе полно ошибок:

[2025-09-30 00:15:49] comment.ERROR: sync_comments.get_discourse_category {"message":"The categories key was not found in the response from Discourse."} 

Я несколько раз пересоздавал API-ключ, он выдан учётной записи администратора. Инструкция по API-ключу не соответствует моим опциям API в Discourse. Если я установлю опцию «Все пользователи», то не будет возможности выбрать пользователя; я вижу это только при использовании опции «Один пользователь».

Ранее всё работало отлично, но уже несколько недель мне не удаётся заставить плагин работать. Что я упускаю?

Давайте подумаем, что изменилось. Сам плагин за последние недели не менялся, так что что могло измениться и вызвать эту проблему:

  1. Вносили ли вы какие-либо изменения в WordPress? Новые плагины, новый хостинг, включён Cloudflare и т.д.?
  2. Вносили ли вы какие-либо изменения в Discourse? То же самое, что и выше.

@cogdog, удалось ли вам решить вашу проблему? Мы все с нетерпением ждем обновления, особенно после того, как Ангус поделился шагами по устранению неполадок.

Я был занят и забыл ответить. Я не могу быть уверен, так как это сайт на WordPress для организации, где я работаю. Мои коллеги, которые публикуют там, не очень часто его используют, поэтому я не могу точно сказать, как давно всё работало корректно — возможно, месяцы назад.

Смена хостинга или использование Cloudflare не производилось. Скорее всего, были установлены новые плагины. В настройки Discourse никаких изменений не вносилось. Когда я заметил проблему, я включил дополнительное логирование.

Есть ли ещё какой-то способ проверить ответ от Discourse, поскольку во всех логах указано лишь следующее:

[2025-10-14 00:13:18] comment.ERROR: sync_comments.get_discourse_category {"message":"Ключ categories не найден в ответе от Discourse."}

Извините, я не могу быть более конкретен, так как мой фокус не на технологическом стеке, а мой системный администратор довольно слаб в вопросах WordPress.

Если возможно, поделитесь ссылками на ваши экземпляры WordPress и Discourse. Если это невозможно, проверьте эндпоинт /site.json вашего Discourse. Например, если вы перейдете по адресу meta.discourse.org/site.json, вы увидите JSON-ответ, содержащий список categories. По сути, эта ошибка возникает, если:

  1. Ваш экземпляр Discourse возвращает ответ без ошибки; но
  2. По какой-то причине в вашем site.json отсутствует список categories.

Наиболее вероятная причина этого всё ещё описана в теме, на которую ссылался @Lilly. Если вы сможете пройти по шагам из этой темы и проверить, сохраняется ли у вас действующее подключение к вашему Discourse:

Спасибо, @angus. Хорошо знать, что в файле /site.json я вижу все категории. Я нашёл проблему! Это была полная ошибка пользователя (PEBKAC).

В настройках плагина для поля «URL Discourse» я ввёл адрес с http://, а не с https:// — обратите внимание, что пример под этим полем, возможно, должен это отражать.

После изменения нашего URL на https://connect.orglobal.org всё заработало.

Мне неловко за то, что я упустил такую очевидную вещь. Дело закрыто.