Длина описания цитаты, тизера, текста записи WordPress с помощью wp_trim_words
Віталий
Доброго времени суток 🙂
Сегодня хочу затронуть тему по длине текста. Речь идет об так званой цитате или еще называют тизер. Часто, так же говорят - длина описания. В WordPress есть такая чудесная функция - the_excerpt(), которая выводит или текст цитаты. Если цитата не задана, то выводится начало текста. Стандартно, функция выводит 55 слов из текста статьи и в конце ставит [...].
Использование такой функции, очень полезно. Лично я в 99% своих тем использую такой вывод обрезного текста. В WordPress можно выводить часть текста обрезая его тегом - more. Получится вы сами контролируете длину текста. Но нужно постоянно этот процесс контролировать, а если забудете, то выведет весь текст статьи, а это не по фэншую 🙂 Поэтому использование - the_excerpt() очень выгодно. WordPress все сделает за Вас.
Данная функция хороша и имеет свои плюсы, но, что делать если Вам нужно выводить краткие описания несколько раз в разных местах и с разной длиной описания. Например, вы выводите в цикле несколько анонсов и хотите, чтобы под каждым было примерно по 70 слов. Потом Вам надо в сайдбаре вывести список популярных статей с кратким описанием, но там 70 слов как-то много, хотелось бы например 25-30. Если использовать - the_excerpt(), то в стандартном ее виде, такое не сделать. Нужно писать специальную функцию, которая может задать разную длину для разных категорий и тд, но это делалось раньше, это сложнее и я даже писать об этом не буду.
Сегодня, речь пойдет о новой функции WordPress, с помощью которой, можно сразу указать длину описания, как говорится, не отходя от кассы :).
Есть такая функция - wp_trim_words(). Данная функция выводит заданный текст, количество слов из него и то что будет после него. Самой классное, то что делается все в месте вывода, не нужно писать лишних функций в файле пользовательских функций, городить кучу лишнего кода, параметров и тд. Данная функция имеет три параметра, как я написал и выводится следующим образом:
wp_trim_words($text, $num_words, $more)
$text - Текст который будем выводить.
$num_words - количество слов выводимого текста.
$more - то что будет после текст
В готовом виде, я использую примерно такой вид функции, его вставляете в нужную часть цикла, там где хотите вывести обрезанный текст записи:
В общим, как обычно, настраиваем и меняем по надобности все как хотите. Данная функция, настоящая палочка-выручалочка, когда надо задать разную длину текста описания записи.