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.

Комментарии (29)
  1. 1
    Алексей

    Мне помог 2 вариант! Потратил пол дня пока не нашел ответ на вашем блоге..:)

  2. 2
    Rita

    Да второй вариант сработал на УРА) спасибо огромное!

    function new_excerpt_length($length) { 
     return 10; 
    } 
    add_filter('excerpt_length', 'new_excerpt_length'); 

    это в functions.php

    <?php the_excerpt('new_excerpt_length', 10); ?>

    а это в свой код вывода и все супер)

  3. 4
    Сергей
    @

    А куда именно вставлять этот код в файл functions.php?

  4. 6
    Сергей
    @

    Не получилось. Делал всё как Вы писали. Возможно что тема не позволяет это осуществить?

  5. 9
    Роман
    @

    Здравствуйте! Способ замечательный! Только вот мне нужно, чтобы это было не количество слов, а количество символов. Подскажите пожалуйста, можно ли такое провернуть с этим скриптом?

  6. 14

    Здравствуйте Дмитрий. Воспользовалась вашим способом, хотя искала как увеличить количество слов при выводе на главную.

    Спасибо.

  7. 15
    Сергей

    Спасибо большое! Ограничение для обрезки по символам — это именно то, что я искал!

  8. 16
    Артем

    Доброго дня! Подскажите пожалуйста, можно ли выбирать не только количество (длину) анонса, но и устанавливать его начало (с какого места начинать)?

  9. 24
    Сергей

    Скажите, а к анонсам в разделе категории эта функция применима? если да, то в каком месте вставлять этот код? Долбусь и не могу понять. Пока что новичёк

  10. 25
    Дмитрий

    Спасибо! второй вариант сработал! В качестве лайка — 2 перехода по рекламе )

  11. 27

    Подскажите пож. как сделать так чтобы на странице отображался только аннонс комментария, а дальше при желании…по ссылке перейти на страницу где уже полный текст?

  12. 28
    Sports
    @

    Здравствуйте, вывод анонса обрезается вот такой конструкцией […], как изменить ее? Чтобы было просто ….

Ваш комментарий