the_content() WP 0.71

Виводить контент поточного посту (запису).

Тег шаблону повинен використовуватися всередині the_post() .

Коли функція використовується на сторінках архівів (не окрема сторінка запису) і якщо в контенті використовується тег-розділювач <!--more-->, то ця функція виведе не весь контент, а лише текст до тега <!--more-->з наступним посиланням “читати далі” (текст посилання можна змінити через $more_link_text ).

Дивіться також функцію the_excerpt() – отримує уривок контенту посту.

Працює на основі:
get_the_content()
1 раз – 0.019477 сек
(гальмо) | 50000 разів – 11.65 сек
(повільно) |
PHP 7.1.11, WP 4.9.6

Хуки з функції

Повертає

null. Виводить на екран форматований контент запису.

Використання

<?php the_content( $more_link_text, $strip_teaser ); ?>
$more_link_text
(рядок)
Текст, який буде показаний як текст посилання замість ‘(читати далі…)’.


За замовчуванням: ‘(читати далі…)’
$strip_teaser
(логічний)

Під словом «teaser» розуміється текст, що приваблює, до тега <!–more–> . strip_teaser – означає видалити цей текст. Якщо встановити параметр у true, то контент до тега <!–more–> на сторінці is_single() буде видалено.

Аналогічно можна видалити контент до тега more, вказавши будь-де код статті тег <!--noteaser-->. Зазвичай його прийнято вказувати відразу після тега <!–more–> .

Типово: false

Приклади

1

#1 Зміна поведінки функції щодо обрізки тексту за тегом <!–more–>

Якщо функція не ріже текст за тегом <!–more–> або навпаки, ріже, де нам це не потрібно, то можна змінити змінну $more, тим самим вказавши функції різати (0) або не різати (1) текст.

<?php
global $more; // Оголосимо змінну $more як глобальну (перед Циклом WordPress).
$ більше = 0; // Змінимо значення змінної, щоб показати лише текст до тега more.
the_content("More...");
?>

якщо потрібно залишити контент як є:

<?php
global $more;
$ більше = 1; // ігноруємо тег more (не обрізаємо).
the_content();
?>
0

#2 Зміна тексту посилання “читати далі…”

Якщо потрібно змінити стандартний текст посилання, який виводиться функцій, коли контент обрізається за тегом <!–more–>, то вкажіть необхідний текст у першому параметрі функції:

<?php the_content('Перейти до повної статті...'); ?>
0

#3 Ігноруємо тег “more” для приліплених записів (sticky)

Цей приклад виводитиме весь контент для приліплених записів (навіть якщо в них є тег “more”), але інших записів текст буде обрізатися:

<?php
global $more; // Оголосимо змінну $more як глобальну.
if( is_sticky() ){
	$ більше = 1;
	the_content();
}
else {
	$ більше = 0;
	the_content( 'Read the rest of this entry »');
}
?>
0

#4 Альтернативне використання

Якщо потрібно отримати контент запису для обробки, а не виводити його на екран, можна використовувати функцію get_the_content():

$content = get_the_content();

Однак треба мати на увазі, що отриманий контент (який зараз у змінній $content) не буде відфільтрований. Щоб його відфільтрувати, його потрібно “прогнати” через фільтр ‘the_content’:

$content = apply_filters( 'the_content', $content );
$content = str_replace( ']]>', ']]>', $content );
-1

#5 Вставлення заголовка статті в текст посилання “читати далі…”

Можна використовувати Тег шаблону the_title(), щоб вставити в текст посилання “читати далі…” заголовок запису:

<?php the_content( "читати повністю: " . the_title('', '', false) ); ?>

список змін

З версії 0.71Введено.

Код the_content() WP 6.0.2

function the_content( $more_link_text = null, $strip_teaser = false ) {
	$content = get_the_content($more_link_text, $strip_teaser);

	/**
	 * Filters the post content.
	 *
	 * @ Since 0.71
	 *
	 * @param string $content Content of the current post.
	 */
	$content = apply_filters( 'the_content', $content );
	$content = str_replace( ']]>', ']]>', $content );
	echo $content;
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *