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; }