get_extended() — возвращает по отдельности контент до и после тега <!‐‐more‐‐>

Функция возвращает массив $content (например), состоящий из трех элементов:

  • $content['main'] — то, что находится до тега <!‐‐more‐‐> (можно назвать это анонсом записи),
  • $content['extended'] часть содержимого поста, которая находится после тега <!‐‐more‐‐>,
  • $content['more_text'] текст ссылки перехода к полной версии поста. Например, если тег <!‐‐more‐‐> у вас имеет следующий вид <!‐‐more подробнее‐‐>, то значением данного элемента массива будет «подробнее». По умолчанию — «(далее…)»
get_extended($post)
$post
(строка) содержимое поста (контент)

Пример

// к примеру выведем 5 постов отсортированных по количеству комментариев
$q = new WP_Query('posts_per_page=5&orderby=comment_count');
while( $q->have_posts() ): $q->the_post();
	$content = get_extended(get_the_content());
	the_title('<h3>','</h3>'); // заголовок в тегах <h3>
	echo '<p>' . $content['main'];
	echo ($content['more_text']) ? '<a href="' . get_permalink() . '">' . $content['more_text'] . '</a></p>' : '';
endwhile;
wp_reset_postdata();

Миша

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

Пишите, если нужна помощь с сайтом или разработка с нуля.

Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.

Миша Рудрастых и WordPress

Полезности из мира WordPress и жизни студии.

Мой телеграм-канал