Плагин Advanced Excerpt — улучшаем вывод анонсов на сайте

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

Вывод анонсов на главной странице

WordPress по умолчанию позволяет два варианта главной страницы: либо как отдельную страницу, либо как список записей (анонсов). Чтобы на главной выводились анонсы страниц нужно перейти в Настройки — Чтение и установить переключатель «На главной странице отображать» — Ваши последние записи и затем сохранить изменения.

Advanced Excerpt

Однако совсем необязательно после этого на главной странице начнут выводиться именно анонсы (короткие выдержки) записей. В большинстве шаблонов WordPress на страницах, отображающих список записей (обычно, это главная страница, страницы категорий, меток, архивы и т.п.) анонсы будут отображаться только в том случае, если вы его указали при редактировании записи с помощью тега more (Далее). В противном случае запись отобразиться в полном объеме.

Это, конечно, не очень хорошо выглядит и нужно вручную указать, какой отрывок поста от его начала считать анонсом. Для простановки тега нужно поставить курсор в нужную позицию и нажать значок more («Далее»). После его установки тег появится в записи (выделено на картинке).

вставка тега more

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

Плагин Advanced Excerpt

WordPress позволяет автоматизировать формирование анонсов при помощи плагинов. Одним из лучших плагинов в этом деле является Advanced Excerpt. Рассмотрим его возможности (и кстати, на этом сайте работает именно этот плагин).

Плагин позволяет:

  1. Сохранять HTML разметку в анонсе (вы сами можете выбрать теги, которые следует сохранять).
  2. Формирует анонс в указанном вами размере (указывается количество символов или слов). При этом учитывается только реальный текст (без HTML тегов).
  3. Выводить последнее слово или предложение полностью завершенным.
  4. Добавить ссылку «читать дальше» в конце текста.
  5. Игнорировать пользовательский анонс.

Чтобы у нас были такие возможности, устанавливаем плагин (его можно найти в поиске добавления нового плагина в админке WordPress или на официальной странице плагина http://wordpress.org/plugins/advanced-excerpt/) и активизируем его.

Идем в настройки плагина в меню «Параметры — Excerpt».

вывод анонсов

  • excerpt length — количество символов/слов в анонсе (если не активирована пометка «use words, то это количество символов, если активирована, то слов);
  • ellipsis — символ многоточия (выводится в конце анонса). Можете указать свой символ;
  • finish — заканчивать на слове (если помечено «word») или на предложении (помечено «sentense»);
  • read-more text — текст который будет выводиться в конце анонса. Если помечено «add link to excerpt», то этот текст будет в виде ссылки. Можете посмотреть, как это выглядит на этом сайте;
  • no custom excerpts — если отметите, то анонс будет формироваться автоматически по своим правим, даже если вы указали в записи анонс вручную;
  • strip shortcodes — удаляет шорткоды;
  • keep markup — сохранять html разметку. Если пометите «don’t remove any markup», вся разметка будет сохраняться. Можете также указать конкретно какие теги оставлять — надо в списке тегов оставить на них пометку, а с других пометку снять.

Жмем Save Changes для сохранения наших изменений.

Если вы проверите автоматическое формирование анонсов после этого, то заметите, что ничего не поменялось, записи так и выводятся в полном размере. Все дело в том, что плагин воздействует на функцию wordpress, выводящую анонс the_excerpt(), в то время как у вас в шаблоне, скорее всего, используется функция вывода записи the_content().

Таким образом вам нужно заменить в шаблоне в том месте, где выводится список записей функцию the_content() на the_excerpt().

Сделать это очень просто. Обычно список записей выводится в файле index.php, который находится в папке вашей темы. Вот как это выглядело у меня

Заменяем функцию the_content функцией the_excerpt. Я у себя просто закомментировал прежнюю функцию. Получилось так:

Сохраняем измененный файл  index.php в папке темы и все работает.

8 комментариев

  1. Павел 2 года назад
  2. admin 2 года назад
  3. МЖ 2 года назад
    • admin 2 года назад
      • МЖ 2 года назад
  4. Илья 12 месяцев назад
  5. Денис 10 месяцев назад
    • admin 10 месяцев назад

Добавьте комментарий