Функция wp_trim_words()
в WordPress позволяет обрезать текст до определённого количества слов. Это полезно, например, для вывода кратких анонсов постов или описаний, где полный текст отображать не нужно
wp_trim_words( string $text, int $num_words = 55, string $more = null ): string
Параметры
$text
(обязательный): Строка текста, которую требуется обрезать.$num_words
(необязательный): Число слов, до которого будет обрезан текст. По умолчанию —55
.$more
(необязательный): Текст, который добавится в конце, если текст обрезан. По умолчанию — многоточие (...
).
Возвращаемое значение
Возвращает строку с обрезанным текстом.
Как работает wp_trim_words()
Функция берет текст, разбивает его на слова и оставляет только указанное количество. Если количество слов в $text
превышает $num_words
, добавляется строка $more
, чтобы указать, что текст обрезан. Например, можно установить $more
как ссылку «Читать далее».
Пример 1: Обрезка текста до 10 слов
Допустим, у нас есть длинный текст, и мы хотим оставить только 10 слов, добавив многоточие в конце:
$text = "WordPress — популярная система управления контентом, которую используют миллионы сайтов по всему миру для создания веб-страниц и блогов.";
echo wp_trim_words($text, 10, '...');
Результат:
WordPress — популярная система управления контентом, которую используют миллионы сайтов по...
Здесь функция обрезала текст до 10 слов и добавила многоточие.
Пример 2: Использование ссылки в конце обрезанного текста
В этом примере мы обрезаем содержимое поста до 20 слов, добавляя ссылку «Читать далее»:
$post_content = get_the_content();
$trimmed_content = wp_trim_words($post_content, 20, '<a href="' . get_permalink() . '"> Читать далее</a>');
echo $trimmed_content;
Результат:
Этот текст представляет собой начальный абзац поста и отображает только 20 слов... <a href="https://example.com/post-url">Читать далее</a>
Пример 3: Вывод обрезанного заголовка комментария
Допустим, мы хотим сократить текст комментария до 15 слов и указать, что он обрезан:
$comment_text = "Этот комментарий содержит довольно много слов и занимает несколько строк. Он должен быть обрезан, чтобы не занимать слишком много места на странице.";
echo wp_trim_words($comment_text, 15, ' [...]');
Результат:
Этот комментарий содержит довольно много слов и занимает несколько строк. Он должен быть обрезан [...]
Полезные советы при использовании wp_trim_words
- Использование для обрезки заголовков: Функция также подходит для обрезки длинных заголовков постов. Например, можно вывести только первые 10 слов в заголовке, если он слишком длинный.
- Гибкость с
$more
параметром:$more
можно использовать для указания любого текста, например, «Подробнее» или «Продолжение…», или для вставки ссылки на полный текст. - Поддержка различных языков:
wp_trim_words()
корректно работает с языками, где символы могут представлять отдельные слова, что полезно для многоязычных сайтов.
Применение wp_trim_words в WordPress
Часто функция wp_trim_words()
применяется в шаблонах для вывода краткого содержания постов, комментариев или анонсов. Например:
add_filter('the_excerpt', function($excerpt) {
return wp_trim_words($excerpt, 25, '...');
});
Этот фильтр сокращает стандартный the_excerpt()
до 25 слов.
Заключение
Функция wp_trim_words()
— это мощный инструмент для управления текстами и их обрезкой в WordPress. Её легко настроить и использовать в темах для оптимизации отображения контента.