X
  • Дизайн та розробка сайту
  • Дизайн і створення сайтів. Розробка тем для WordPress. Створення Landing Page.
  • office@gnatkovsky.com.ua
  • @vgnat
  • Написати мені
Замовити послугу

Длина описания цитаты, тизера, текста записи WordPress с помощью wp_trim_words

Приклад
  • 2024-04-20
  • 4816 переглядів

  • Дизайн та розробка сайту

Доброго времени суток 🙂

Сегодня хочу затронуть тему по длине текста. Речь идет об так званой цитате или еще называют тизер. Часто, так же говорят - длина описания. В WordPress есть такая чудесная функция - the_excerpt(), которая выводит или текст цитаты. Если цитата не задана, то выводится начало текста. Стандартно, функция выводит 55 слов из текста статьи и в конце ставит [...].

wp_trim_words длина описания

Использование такой функции, очень полезно. Лично я в 99% своих тем использую такой вывод обрезного текста. В WordPress можно выводить часть текста обрезая его тегом - more. Получится вы сами контролируете длину текста. Но нужно постоянно этот процесс контролировать, а если забудете, то выведет весь текст статьи, а это не по фэншую 🙂 Поэтому использование - the_excerpt() очень выгодно. WordPress все сделает за Вас.

Про то как изменить количество слов в функции the_excerpt, можно прочитать в этой статье Длина тизера, меняем количество слов the_excerpt — WordPress. Как убрать или изменить [...] в конце текста, читайте в этой статье - Убираем три точки или кнопка читать дальше после тизера the_excerpt — WordPress

Данная функция хороша и имеет свои плюсы, но, что делать если Вам нужно выводить краткие описания несколько раз в разных местах и с разной длиной описания. Например, вы выводите в цикле несколько анонсов и хотите, чтобы под каждым было примерно по 70 слов. Потом Вам надо в сайдбаре вывести список популярных статей с кратким описанием, но там 70 слов как-то много, хотелось бы например 25-30. Если использовать - the_excerpt(), то в стандартном ее виде, такое не сделать. Нужно писать специальную функцию, которая может задать разную длину для разных категорий и тд, но это делалось раньше, это сложнее и я даже писать об этом не буду.

Сегодня, речь пойдет о новой функции WordPress, с помощью которой, можно сразу указать длину описания, как говорится, не отходя от кассы :).

Есть такая функция - wp_trim_words(). Данная функция выводит заданный текст, количество слов из него и то что будет после него. Самой классное, то что делается все в месте вывода, не нужно писать лишних функций в файле пользовательских функций, городить кучу лишнего кода, параметров и тд. Данная функция имеет три параметра, как я написал и выводится следующим образом:

wp_trim_words($text, $num_words, $more)

  • $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 первых слов из текста.
  • После текста у нас выведет ссылку на эту запись в виде слова - ...Подробнее

Выглядеть это будет примерно так:

040320161616

Если хотите можете ничего не выводить после текста тогда функция станет короче:

<?php echo wp_trim_words( get_the_content(), 20); ?>

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

На этом все, спасибо за внимание. 🙂

Якщо Вам була корисна моя праця, можете фінансово підтримати сайт або відключити блокувальник реклами, що займе 2 хвилини :)

Хочу підтримати фінансово Хочу відключити блокувальник

Оцініть статтю
  1. 5
  2. 4
  3. 3
  4. 2
  5. 1
Проголосовало: 5, в среднем: 5 из 5
Читайте також