Улучшаем обрезку текста в WordPress

Наверно многие сталкивались с проблемой стандартной обрезки текста (the_ecerpt()), когда старались уменьшить выводимый текст менее чем 20 слов.. Функция, которой я ниже поделюсь решает эту проблему, но при этом вам понадобится сделать некоторые правки в коде вашего шаблона.

И так, добавим в файл functions.php следущую функцию:
function string_limit_words($string, $word_limit)
{
  $words = explode(' ', $string, ($word_limit + 1));
  if(count($words) > $word_limit) {
  array_pop($words);
  return implode(' ', $words)."..."; } else {
  return implode(' ', $words); }
}

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

Предположим, мы хотим уменьшить количество выводимых слов на странице архива записей. Для этого откроем файл archive.php вашего шаблона и найдем там функцию the_excerpt() или the_content() и заменим ее на следующий код:

//Получаем обрезанный текст стандартной функцией the_excerpt()
$new_excerpt = get_the_excerpt();
//выводим обрезанный текст до 10 слов
echo string_limit_words($new_excerpt, 10); 
Отдельно расписывать действия в коде не буду, потому как добавил к каждой строке комментарии.
Блог WordPress плагины и хаки Улучшаем обрезку текста в WordPress