WordPress. Как отобразить анонс записи?

Некоторые администраторы сайтов хотят отобразить на странице архива статей только название и анонс поста вместо полного содержимого, чтобы пользователь видел краткий перечень статей и мог посмотреть полное содержимое каждой из них при переходе по ссылке «Подробнее…». Возникает логичный вопрос: «Как вывести анонс поста в WordPress?».

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

Как это сделать?

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

Теперь найдите следующий код:

<?php the_content(); ?>

И замените его на следующий:

<?php the_excerpt(); ?>

Теперь вы можете задать произвольный анонс для каждого поста из панели администрирования при редактировании или добавлении записи через соответствующее поле ввода и увидеть его на странице архива.

В некоторых темах используется один и тот же шаблон для вывода элемента списка записей и одной записи. В таком случае можно поставить такое условие (я это делал в файле content.php):

if (is_single() ) :
    the_content();
} else {
    the_excerpt();
}

Т.е. при отображении одиночной записи мы выводим полное содержимое, а при выводе списка только анонсы.

Если же вы не хотите задавать анонс для каждой записи, WordPress может автоматически получать первые 55 слов из вашего поста и выводить их в виде анонса с индикацией продолжения записи. Начиная с версии WordPress 2.9, можно изменить количество выводимых в анонс слов. Если вы хотите изменить это количество, откройте файл functions.php и добавьте эту функцию:

// Изменение длины анонса
function new_excerpt_length($length) {
    return 100;
}
add_filter('excerpt_length', 'new_excerpt_length');

// изменение индикатора продолжения записи
function new_excerpt_more($more) {
    return '...';
}
add_filter('excerpt_more', 'new_excerpt_more');

Вот и всё! Мы решили поставленную задачу несколькими строками кода. Пиши отзывы и комментарии с вопросами, если инструкция не помогла.

Увидимся в следующей статье!

  • Михаил Поданев

    Круто! Спасибо, выручили :)