Публикация поста с галереей WordPress на Discourse

Здравствуйте,

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

Я опубликовал в блоге статью, состоящую только из галереи примерно из 60 изображений, но она не отображается в связанной теме на Discourse. Вместо этого плагин извлек сначала текст плагина GDPR, а затем текст подвала.

Как мне это исправить? Нужно ли мне добавить какой-либо код в файл functions.php темы?

Жду вашего ответа, большое спасибо :slightly_smiling_face:

Указаны ссылки на связанную тему форума

https://www.labalestramoderna.it/gallery/le-nostre-balestre/32896/sam-excalibur-hybrid-x/

Привет, есть какие-то новости?

Думаю, проблема в Discourse, но я не знаю, как её исправить.

Может, кто-то сможет помочь, пожалуйста? :folded_hands: Спасибо

Привет, @FrancescoM,

Чтобы уточнить суть вашей проблемы: вы утверждаете, что

  1. Вы уже какое-то время используете функцию «Опубликовать» плагина WP Discourse.
  2. Вы создали этот пост с галереей изображений в WordPress, и он был опубликован в Discourse как эта тема.
  3. Текст превью в первом сообщении темы Discourse гласит: «Excalibur Hybrid X – Фотографии и испытание стрельбой», а при нажатии на кнопку «Показать полное сообщение» отображается: «© 2026 La Balestra Moderna. Копирование, публикация, воспроизведение или распространение содержания любым способом или в любой форме запрещено».

Правильно ли я понимаю, что проблема заключается именно в пункте 3? А именно: вы ожидаете увидеть изображения при нажатии на кнопку «Показать полное сообщение». Так ли это?

Привет @angus, спасибо за ваш ответ :folded_hands:

Да, всё верно. Для ранее опубликованных постов всё работало отлично: после нажатия кнопки “Показать полный пост” я вижу и галерею, и текст.

Я прикрепил здесь пример рабочего поста как в WordPress, так и в Discourse:

В этом посте есть фотографии в виде галереи и некоторый текст.

Если пост содержит только изображения (вставленные как галерея), Discourse отображает либо текст в футере, либо сообщение во всплывающем окне плагина “Moove GDPR Cookie Compilation”. Если я отключаю плагин GDPR, я вижу футер.

Если я вставляю изображения как “Фото” (блок Gutenberg), Discourse показывает изображение, но не галерею.

Как это исправить? Ещё раз спасибо :folded_hands:

Разница в том, что в вашем случае в сообщении WordPress содержатся только изображения. В этом другом случае в сообщении есть ещё и текст. Возможно ли добавить текст перед изображениями в сообщении, с которым у вас возникла проблема?

Да, я добавил текст до и после блока галереи, но на Discourse увидел только этот текст без изображений.

Вот текст, который я добавил в сообщение перед блоком «Галерея»:

Excalibur Hybrid X – Фото и стрельба

Я что-то делаю не так? Или мне нужно удалить сообщение и опубликовать его заново?

Спасибо :folded_hands:

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

Я только что удалил тему в Discourse и добавил текст до и после блока «Галерея» Gutenberg, но, к сожалению, это не помогло. Контент явно виден в сводке, но как только я нажимаю кнопку, он заменяется сообщением плагина GDPR.

Вот ссылка на новую тему:

Что мне теперь сделать, чтобы расследовать и решить проблему? Я также очистил кэш WordPress (LiteSpeed и Cloudflare).

Вам нужны мои настройки WP-Discourse?

Спасибо ещё раз :folded_hands:

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

Я создал этот пост здесь, на WordPress

И тему, связанную здесь

Но это не работает. Возможно, мне нужно добавить больше текста? Или оно должно отображаться в любом случае?

Спасибо ещё раз :folded_hands:

Основная проблема заключается в том, что извлечение контента с вашего сайта осуществляется с помощью библиотеки Readability, которая основана на алгоритме режима чтения Firefox.

Суть в том, что алгоритм Readability плохо справляется с контентом, насыщенным изображениями. Функция предварительного просмотра предназначена для постов, состоящих преимущественно из текста.

В принципе, да. Один из способов проверки — использовать режим чтения в Firefox для вашего поста в WordPress, чтобы увидеть, что, скорее всего, сгенерирует библиотека Readability.

Спасибо большое за подробный ответ @angus :folded_hands:

Могу ли я отредактировать этот тест читаемости в Discourse?

Также я проведу несколько тестов, добавив текст и описания, и сообщу вам о результатах.

Ещё раз спасибо!

Вы можете управлять HTML-селекторами, которые Readability использует для извлечения контента, с помощью следующих настроек сайта:

  • allowed_embed_selectors
  • blocked_embed_selectors
  • allowed_embed_classnames
  • embed_title_scrubber

Однако эти настройки не влияют напрямую на то, как Readability обрабатывает изображения.

Огромное спасибо :folded_hands:

Я заметил, что режим читаемости Firefox не отображается в этом посте галереи. Я попробую добавить больше текста, а также описания изображений…

Но сначала я изучу эти настройки.

Ещё раз спасибо за помощь, я дам вам знать!

Я заметил, что в настройках Discourse я могу найти только «allowed_embed_selectors».

Я изменил его, добавив CSS-классы из своей темы. Также я использовал несколько «трюков», чтобы повысить показатель читаемости, и это сработало!

Я добавил больше текста, альт-тексты для некоторых изображений и глобальный «обёртку» для постов, чтобы добавить тег <article>. На Discourse это работает отлично, даже если Firefox показывает панель GDPR как «читаемый» контент.

Теперь у меня вопрос. Можно ли расширить лайтбокс Discourse для изображений WordPress, импортированных в тему?

Ещё раз спасибо за вашу помощь! :folded_hands:

Привет, вот несколько обновлений.

Я заметил, что комментарии WP-Discourse используют тег <article>, и час назад один из участников опубликовал комментарий, в результате чего парсер воспринял этот текст как основное содержание поста.

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

Можно ли навсегда исправить эту проблему с парсингом?

Спасибо :folded_hands:

Принцип работы таков: HTML-предпросмотр в сообщении сохраняет точность исходного контента. Для этого потребуется кастомный плагин.

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

Возможно создать надежную синхронизацию фотогалереи между WordPress и Discourse, однако для этого потребуется разработать кастомизации (плагин для WordPress и плагин для Discourse), работающие именно таким образом.

Привет, @angus, спасибо за уточнение.

Мне нужно внести изменения в плагин WP-Discourse?

Также есть ли способ, отличный от селектора CSS, для настройки того, как данные Discourse извлекаются или обрабатываются?

Ещё раз спасибо за вашу помощь :folded_hands: