Использование такой функции, очень полезно. Лично я в 99% своих тем использую такой вывод обрезного текста. В WordPress можно выводить часть текста обрезая его тегом - more. Получится вы сами контролируете длину текста. Но нужно постоянно этот процесс контролировать, а если забудете, то выведет весь текст статьи, а это не по фэншую 🙂 Поэтому использование - the_excerpt() очень выгодно. WordPress все сделает за Вас.
Про то как изменить количество слов в функции the_excerpt, можно прочитать в этой статье Длина тизера, меняем количество слов the_excerpt — WordPress. Как убрать или изменить [...] в конце текста, читайте в этой статье - Убираем три точки или кнопка читать дальше после тизера the_excerpt — WordPress
Данная функция хороша и имеет свои плюсы, но, что делать если Вам нужно выводить краткие описания несколько раз в разных местах и с разной длиной описания. Например, вы выводите в цикле несколько анонсов и хотите, чтобы под каждым было примерно по 70 слов. Потом Вам надо в сайдбаре вывести список популярных статей с кратким описанием, но там 70 слов как-то много, хотелось бы например 25-30. Если использовать - the_excerpt(), то в стандартном ее виде, такое не сделать. Нужно писать специальную функцию, которая может задать разную длину для разных категорий и тд, но это делалось раньше, это сложнее и я даже писать об этом не буду.
Сегодня, речь пойдет о новой функции WordPress, с помощью которой, можно сразу указать длину описания, как говорится, не отходя от кассы :).
Есть такая функция - wp_trim_words(). Данная функция выводит заданный текст, количество слов из него и то что будет после него. Самой классное, то что делается все в месте вывода, не нужно писать лишних функций в файле пользовательских функций, городить кучу лишнего кода, параметров и тд. Данная функция имеет три параметра, как я написал и выводится следующим образом:
- $text - Текст который будем выводить.
- $num_words - количество слов выводимого текста.
- $more - то что будет после текст
В готовом виде, я использую примерно такой вид функции, его вставляете в нужную часть цикла, там где хотите вывести обрезанный текст записи:
<?php echo wp_trim_words( get_the_content(), 20, '<a href="'. get_permalink() .'"> ...Подробнее</a>' ); ?>
Данная функция заключена в теги php для вставки в HTML код. Если у Вас в цикле используется сразу php то теги - <?php ?> можно удалить.
- По коду можете увидеть, что вместо какого-то текста мы добавили функцию - get_the_content() , которая выводит именно текст записи.
- Далее мы указали, что нужно выводить 20 первых слов из текста.
- После текста у нас выведет ссылку на эту запись в виде слова - ...Подробнее
Выглядеть это будет примерно так:
Если хотите можете ничего не выводить после текста тогда функция станет короче:
<?php echo wp_trim_words( get_the_content(), 20); ?>
В общим, как обычно, настраиваем и меняем по надобности все как хотите. Данная функция, настоящая палочка-выручалочка, когда надо задать разную длину текста описания записи.
На этом все, спасибо за внимание. 🙂