Проблема с «Опубликовать как незаметные темы»

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

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

Всё работает.

Проблема в том, что когда я создаю новую статью в WordPress и захожу в настройки «Опубликовать как незарегистрированные», флажок снят. И всё же работает так, будто он установлен :).

Пока мы всё ещё используем классический редактор WP.

Здесь нужно что-то исправить. Если записи публикуются через классический редактор, плагин WP Discourse имеет два способа пометить записи для публикации как скрытые. На вкладке «Настройки публикации» плагина есть опция «Опубликовать как скрытые темы», а на странице редактирования записи — флажок «Опубликовать как скрытую». Если опция на вкладке «Настройки публикации» включена, записи будут опубликованы как скрытые в Discourse, и значение флажка «Опубликовать как скрытую» на странице редактирования записи будет проигнорировано.

При использовании блочного редактора для публикации записей доступна только общесайтовая опция на вкладке «Настройки публикации» для пометки записей как скрытых.

В вашем случае, я предполагаю, что у вас включена общесайтовая опция:

Дайте знать, если это не так.

Что касается более общей проблемы: всё работает так из-за исторических причин. По какой-то причине, когда в плагин была добавлена поддержка блочного редактора, было принято решение (мной) перенести настройку «скрытая» из параметра для каждой записи в общесайтовую опцию. Я не помню, по какой именно причине это было сделано, но то, как эта настройка теперь работает с классическим редактором, сбивает с толку. Есть несколько способов улучшить ситуацию.

Кроме того, после того как функциональность «публикация как скрытая» была добавлена в плагин WP Discourse, в Discourse была введена аналогичная функциональность для тем Discourse, которые подтягиваются с другого сайта через JavaScript: Embed Discourse comments on another website via Javascript. Это контролируется настройкой сайта Discourse embed unlisted. Было бы здорово, если бы эта настройка могла обрабатывать темы, опубликованные в Discourse через плагин WordPress. Если это станет возможным, плагин WordPress сможет убрать свою настройку «публикация как скрытая».

Всё именно так, как вы описали. Спасибо за разъяснение контекста и причин, по которым исторически сложился такой подход.

Текущая настройка работает нормально, просто это вызывает путаницу, и я задумался, является ли это ошибкой или особенностью. Но с моей точки зрения, это не что-то особенно серьёзное.

Я считаю, что это правильное решение. Я создал PR в репозиторий discourse/discourse

Последняя версия WP, последняя бета-версия Discourse, последний плагин — и это не работает уже целый месяц… :frowning:

Надеюсь, исправление появится скоро.

Привет @Cafeine, не могли бы вы подробнее рассказать, что именно не работает?

Обратите внимание, что вышеупомянутая проблема (непоказанные темы) была решена с помощью изменения в Discourse, о котором говорилось в сообщении выше вашего. Вы можете управлять отображением встраиваемых тем, включая темы WP Discourse, с помощью настройки сайта “embed unlisted”.

Хорошо, тогда я не понимаю, что нужно сделать, чтобы это снова заработало.

Когда мы публикуем в WordPress с помощью планирования постов, устанавливая дату на следующий день, например, связанный тред в Discourse публикуется скрытым, когда пост выходит в онлайн, несмотря на настройки, которые, как мне кажется, настроены правильно…

Жаль слышать, что у вас всё ещё возникают проблемы. Включены ли какие-либо из этих настроек?

  1. «Опубликовать как незарегистрированные темы» в разделе «Опубликование» настроек WP Discourse.
  2. «Встраивать незарегистрированные» в настройках вашего сайта Discourse.

Если включена хотя бы одна из этих настроек, темы, опубликованные через WP Discourse, будут незарегистрированными.

И вот это был пункт 2. Почему он был включён — понятия не имею… :man_facepalming:

Спасибо за терпение и разъяснения! Но какой у этой функции сценарий использования? Я имею в виду, как люди могут использовать тред, если он скрыт?

Рад, что вы решили проблему.

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

Когда тема не включена в список, её всё ещё могут видеть в списках тем обычные сотрудники и пользователи с уровнем доверия 4. Посетить её может любой пользователь (например, если он перейдёт по ссылке на тему из WordPress). После первого ответа она автоматически станет «включённой в список» (то есть будет отображаться нормально в списках тем). Подробнее о причинах и истории этой функции можно прочитать здесь:

А о не включённых в список темах — здесь: