the_content()
Виводить контент поточного посту (запису).
Тег шаблону повинен використовуватися всередині the_post() .
Коли функція використовується на сторінках архівів (не окрема сторінка запису) і якщо в контенті використовується тег-розділювач <!--more-->, то ця функція виведе не весь контент, а лише текст до тега <!--more-->з наступним посиланням “читати далі” (текст посилання можна змінити через $more_link_text ).
Дивіться також функцію the_excerpt() – отримує уривок контенту посту.
get_the_content()
(гальмо) | 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 Зміна поведінки функції щодо обрізки тексту за тегом <!–more–>
Якщо функція не ріже текст за тегом <!–more–> або навпаки, ріже, де нам це не потрібно, то можна змінити змінну $more, тим самим вказавши функції різати (0) або не різати (1) текст.
<?php
global $more; // Оголосимо змінну $more як глобальну (перед Циклом WordPress).
$ більше = 0; // Змінимо значення змінної, щоб показати лише текст до тега more.
the_content("More...");
?>якщо потрібно залишити контент як є:
<?php global $more; $ більше = 1; // ігноруємо тег more (не обрізаємо). the_content(); ?>
#2 Зміна тексту посилання “читати далі…”
Якщо потрібно змінити стандартний текст посилання, який виводиться функцій, коли контент обрізається за тегом <!–more–>, то вкажіть необхідний текст у першому параметрі функції:
<?php the_content('Перейти до повної статті...'); ?>#3 Ігноруємо тег “more” для приліплених записів (sticky)
Цей приклад виводитиме весь контент для приліплених записів (навіть якщо в них є тег “more”), але інших записів текст буде обрізатися:
<?php
global $more; // Оголосимо змінну $more як глобальну.
if( is_sticky() ){
$ більше = 1;
the_content();
}
else {
$ більше = 0;
the_content( 'Read the rest of this entry »');
}
?>#4 Альтернативне використання
Якщо потрібно отримати контент запису для обробки, а не виводити його на екран, можна використовувати функцію get_the_content():
$content = get_the_content();
Однак треба мати на увазі, що отриманий контент (який зараз у змінній $content) не буде відфільтрований. Щоб його відфільтрувати, його потрібно “прогнати” через фільтр ‘the_content’:
$content = apply_filters( 'the_content', $content ); $content = str_replace( ']]>', ']]>', $content );
#5 Вставлення заголовка статті в текст посилання “читати далі…”
Можна використовувати Тег шаблону the_title(), щоб вставити в текст посилання “читати далі…” заголовок запису:
<?php the_content( "читати повністю: " . the_title('', '', false) ); ?>
список змін
| З версії 0.71 | Введено. |
Код the_content() 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;
}