WordPress: вывод анонса с заданным количеством слов
Не раз сталкивался с ситуацией, когда необходимо было выводить анонс, ограничив его длину заданным количество слов.
Для этого я использую нижеследующую простенькую функцию.
В файл functions.php
WordPress-темы необходимо вставить следующий код:
function do_excerpt($string, $word_limit) {
$words = explode(' ', $string, ($word_limit + 1));
if (count($words) > $word_limit)
array_pop($words);
echo implode(' ', $words).' ...';
}
После этого в то место шаблона, где нужно отобразить анонсы постов, вставить вот такой код:
<?php do_excerpt(get_the_excerpt(), 50); ?>
Здесь цифра 50 – это количество слов, которым мы хотим ограничить длину анонса.
Другой вариант
Если вы используете WordPress версии 2.9 или выше, то можно задействовать следующую более упрощенную конструкцию:
function new_excerpt_length($length) {
return 50;
}
add_filter('excerpt_length', 'new_excerpt_length');
Код также необходимо вставить в файл functions.php
.
Комментарии (31)
Мне помог 2 вариант! Потратил пол дня пока не нашел ответ на вашем блоге..:)
Да второй вариант сработал на УРА) спасибо огромное!
это в functions.php
а это в свой код вывода и все супер)
а где тут указана строка, длину которой ограничивает эта функция?
А куда именно вставлять этот код в файл functions.php?
Вставьте в самый конец файла перед
?>
.Не получилось. Делал всё как Вы писали. Возможно что тема не позволяет это осуществить?
От темы не должно зависеть. Я много раз использовал оба варианта в разных темах – всегда работает.
Dimox, пробовал и с другими темами, но результат отрицательный. Вывод, что то я делаю не так. Вы не могли мне помочь? Если я вышлю файл functions.php, или название темы, а Вы пришлёте исправленный файл functions.php.
Здравствуйте! Способ замечательный! Только вот мне нужно, чтобы это было не количество слов, а количество символов. Подскажите пожалуйста, можно ли такое провернуть с этим скриптом?
Функция для обрезки по символам:
Вывод текста:
Огромнейшее!!! Человеческое!!!! Спасибо!!!!!
Спасибо помогло! Скажите, а как сделать, вывод заголовка по символам?
Смотрите здесь – Обрезать название поста WordPress до заданного количества символов или слов.
Здравствуйте Дмитрий. Воспользовалась вашим способом, хотя искала как увеличить количество слов при выводе на главную.
Спасибо.
Спасибо большое! Ограничение для обрезки по символам – это именно то, что я искал!
Доброго дня! Подскажите пожалуйста, можно ли выбирать не только количество (длину) анонса, но и устанавливать его начало (с какого места начинать)?
К сожалению, нельзя.
Подскажите пожалуйста, а у меня картинка идет в начале поста, но в анонсе она не выводится, можно это как-то реализовать? анонс выводил через вашу методику.
Можно вывести ее плагином Kama Thumbnail.
А он уже сделает миниатюры для добавленных ?или нужно заново обновлять
Создаст новые.
не понимаю как сделать так, чтобы у готовых записей сделалась миниатюра
разобрался, спасибо за совет
Скажите, а к анонсам в разделе категории эта функция применима? если да, то в каком месте вставлять этот код? Долбусь и не могу понять. Пока что новичёк
Спасибо! второй вариант сработал! В качестве лайка – 2 перехода по рекламе )
Спасибо!
Подскажите пож. как сделать так чтобы на странице отображался только аннонс комментария, а дальше при желании…по ссылке перейти на страницу где уже полный текст?
Здравствуйте, вывод анонса обрезается вот такой конструкцией […], как изменить ее? Чтобы было просто ….
После этого в то место шаблона, где нужно отобразить анонсы постов, вставить вот такой код: – а где находится это место ? Заранее спасибо.
Огромное спасибо, помогли. Буду рад, если поможете сделать вывод заголовков справа от картинки. Весь интернет обыскал уже.