Сводка закрепленной темы использует текст ссылки первой строки вместо текста тела

Привет, друзья!

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

Если это имеет значение, я использую официальную интеграцию Discourse с WordPress для публикации постов на форуме. Да, это стандартное поведение для <small> в начале ссылки.

Итак, краткое содержание выглядит так:

Читать статью: <ссылка>

Текст здесь

Я обращался в ask.discourse, и там упоминался плагин, который я не использую. Вот список моих плагинов и их статус:

Название компонента темы Включено
discourse-category-banners Да
discourse-christmas-decorations Нет
discourse-social-share Да
Easy Footer Да
Reftagger Да
Topic Thumbnails Нет
Twitter Native Embed Да

Происходит ли это в безопасном режиме? Ведёт ли ссылка на запись в WordPress или на тему в Discourse?

Спасибо.

Это всё ещё происходит в безопасном режиме.

Кроме того, речь идёт не о самой ссылке, а о тексте ссылки — о превью ссылки.

Извините, но не могли бы вы уточнить? Ссылка над превью ведёт на пост в сайте WordPress или на тему в форуме Discourse? Спасибо.

Думаю, пример прояснит ситуацию.

Вот что я вижу на странице /latest:

Это закреплённая тема на странице /latest форума.

Обратите внимание, что превью начинается так:

“Полная статья по ссылке: Lorem Ipsum Dolor Sit Amet Consectetur Adipiscing Elit?”

…а затем следует превью основного текста:

Nulla facilisi lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incidid… читать далее

Если перейти в саму тему, всё работает как надо — тема отображается корректно.

В начале темы структура выглядит так:

<small>Полная статья по ссылке: Lorem Ipsum Dolor Sit Amet Consectetur Adipiscing Elit?</small>
<p>Nulla facilisi lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incidid...</p>

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

Проблема возникает только на странице /latest: кажется, что Discourse при формировании превью закреплённых тем использует текст первой ссылки («Полная статья по ссылке: …») как часть краткого описания темы, вместо того чтобы пропустить её и взять текст из основного тела.

Из-за этого вид /latest кажется неудобным: текст ссылки доминирует в превью и сдвигает настоящее краткое содержание темы вниз.

Ожидается следующее:

  • либо контекстная ссылка в первой строке (особенно внутри тега <small>) должна игнорироваться при формировании краткого описания,
  • либо превью закреплённых тем должно формироваться на основе текста основного тела, а не текста ссылки.

Это ожидаемое поведение, или есть настройка / переопределение на уровне темы, которое контролирует, как формируются краткие описания закреплённых тем на странице /latest?

Мне не удаётся воспроизвести это на другом экземпляре. Когда я закрепляю тему глобально, я сразу вижу первую строку содержимого поста. Даже с Embed Discourse comments on another website via Javascript я не вижу этот небольшой текст.

Привет, Нейт — спасибо, что нашли время ответить.

Кажется, мы немного друг друга не понимаем, поэтому хочу уточнить.

Я не использую встраивание или onebox для чего-либо. Это обычная тема на форуме Discourse.

Внутри самой темы структура следующая:

  • Первая строка: небольшая контекстная ссылка на статью в WordPress
  • Затем: основной текст поста в Discourse

Таким образом, внутри темы всё отображается именно так, как и должно.

Проблема возникает только на странице /latest, и конкретно с закреплёнными темами.

На странице /latest Discourse берёт текст ссылки из первой строки («Полная статья здесь: …») для краткого описания темы, вместо того чтобы пропустить её и использовать последующий основной текст. В результате превью на /latest сначала показывает заголовок связанной статьи, и только потом — фактическое содержание темы, что кажется очень неинтуитивным и неудобным.

Чтобы было совсем ясно:

  • речь не о встроенных темах
  • не о onebox
  • не о рендеринге в WordPress
  • всё, что здесь происходит, — исключительно внутри Discourse

Я ожидал, что контекстные ссылки в первой строке (особенно те, что задуманы как метаданные) будут игнорироваться при генерации отрывка на /latest, а краткое описание будет формироваться на основе основного текста темы.

Так что главный вопрос:

Это ожидаемое поведение для закреплённых тем на /latest, или существует настройка/переопределение, которое контролирует выбор источника для краткого описания?

Ах! Теперь всё понятно. Я не думаю, что существует способ изменить отрывок темы через настройки. Однако вы можете попробовать следующее, чтобы указать отрывок темы в списке тем:

Я протестировал это, и всё работает довольно хорошо.

Победитель, победитель, куриный ужин!

Спасибо, Нейт, это сработало!