the_excerpt() – выводит отрывок текущей записи в цикле

Данная функция работает только внутри цикла WordPress.

the_excerpt()

Параметров, которые можно передать в функцию, нет, именно поэтому её и нужно использовать только в цикле.

Пример

Используя функции-условные теги, выводим отрывок записей только при выводе внутри цикла только на страницах категорий, на остальных страницах – выводим контент функцией the_content():

while( have_posts() ) : the_post();
 
	the_title( '<h2>', '<h2>' );
 
	if ( is_category() ) {
		the_excerpt();
	} else {
		the_content();
	}
 
endwhile;

Итак, функция работает на основе get_the_excerpt() и выводит:

  • Всё то, что в поле «Отрывок» (когда-то он назывался «Цитата») для текущей записи в цикле с применением всех действий на фильтр the_excerpt.
  • Если поле «Отрывок» не заполнено, функция будет брать контент записи и обрезать его по заданной длине, игнорируя тег <!--more-->, по умолчанию 55 слов, читайте тут, как изменить. В этом случае фильтры тоже никто не отменял. А ещё в конце такого отрывка добавляются символы [&hellip;], которые тоже можно изменить.

Фильтр-хук the_excerpt

Применение этого хука и задаёт отличие функции get_the_excerpt() от the_excerpt(), помимо того, что первая возвращает, а вторая выводит, и то, что в get_the_excerpt() можно передать ID поста.

На этот хук добавляются следующие функции:

  • wptexturize() – для замены кавычек и некоторых других символов. Читайте тут, как отключить его,
  • преобразуются символы типа :) в эмоджи, если это включено в настройках,
  • затем происходит замена символа & на &amp;,
  • функция wpautop() расставляет теги <p> и <br> на месте переносов строк,
  • убеждается, что в отрывке нет шорткодов, обёрнутых в <p>...</p>, если да, то удаляет этот тег,
  • фильтрует такие теги как <img> и <iframe>, чтобы добавить к ним атрибуты srcsetsizes и loading, которые могли не существовать на момент создания поста,
  • если сайт использует https://, то заменяет все http:// на https:// внутри отрывка.

Миша

Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школах Epic Skills и LoftSchool.

Если вам нужна помощь с сайтом или разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда будем рады вам помочь!