Отмеченные и скрытые посты: авторы Whisper появляются в WordPress

Если вы посмотрите на скриншоты ниже, то увидите, что помеченный и скрытый пост отображается в WordPress. Кроме того, в обсуждении указано больше участников, чем есть на самом деле. Это люди, которые написали «шёпотом» в теме.

Я использую более старую версию плагина wp-discourse, но не знаю, может ли это быть причиной проблемы. Мне кажется, что это следует исправить на стороне Discourse, чтобы скрытые посты и авторы «шёпотов» не передавались через API.

Вот как это выглядит в WordPress:

А вот как это выглядит в Discourse:

Кстати, только что заметил, что все 6 упомянутых людей также лайкнули пост. Трое из них участвуют в тайной переписке, но они тоже поставили :heart:. Возможно, аватары участников тайной переписки на самом деле не просачиваются через комментарии WordPress.

Спасибо за сообщение об этой проблеме. Я вижу два отдельных вопроса. Первый заключается в том, что TopicViewWordpressSerializer возвращает скрытые посты. Нам нужно либо прекратить возвращать скрытые посты, либо добавить свойство hidden в данные, возвращаемые из Discourse. Это позволит плагину обрабатывать скрытые посты.

Второй вопрос связан с тем, что список участников темы, возвращаемый Discourse, формируется на основе тех участников, которых может видеть пользователь, сделавший запрос. Поскольку плагин запрашивает темы Discourse от имени администратора, в список участников попадают сотрудники, создавшие скрытые посты в теме. Мне предстоит разобраться с этим подробнее.

Нужно ли нам когда-либо отображать эти скрытые посты на стороне WordPress? Если нет, то, похоже, бессмысленно отправлять их по сети.

Скрытые посты были исключены из списка постов, возвращаемых маршрутом WordPress. Если вы используете последнюю версию Discourse, они больше не будут отображаться в комментариях WordPress.

Проблема с разделом участников решается сложнее. Список участников, который возвращается, зависит от имени пользователя, под которым выполняется API-запрос для комментариев Discourse. Предполагая, что в настройках подключения плагина используются учетные данные API «Все пользователи», список участников будет включать пользователей, создавших шепот.

Я добавлю в плагин опцию, позволяющую исключить раздел участников из области комментариев. Если вы не можете обновить версию плагина WP Discourse, вы можете удалить раздел участников, настроив шаблон replies_html.