В зависимости от настроек поста может также добавлять перед заголовком «Защищено: » или «Личное: ».
the_title( $before = '', $after = '', $echo = true )
Параметры
- $before
- (строка) текст или HTML, который нужно добавить перед возвращаемым/выводимым значением
- $after
- (строка) текст или HTML-код, добавляемый в конце
- $echo
- (логическое) если
false
— возвращает заголовок, еслиtrue
(по умолчанию), то выводит
Пример 1. Как вывести заголовок текущего поста в цикле в HTML-тегах
the_title( '<h2>', '</h2>' );
или
echo '<h2>' . the_title( '', '', false ) . '</h2>';
Пример 2. Очистка заголовка
Обратите внимание, что так же, как и у функции the_content(), возвращаемое значение функции the_title()
не очищается. Так и должно быть и на это есть причины. В то же время это означает, что если заголовок поста содержит например <script>alert("приветик");</script>
, то JavaScript будет выполняться везде, где используется функция the_title()
. В таких ситуациях вы можете сами очищать содержимое заголовка там, где нужно, например:
echo '<h2>' . esc_html( the_title( '', '', false ) ) . '</h2>';
Но возможность публиковать неочищенный HTML в заголовках есть только у администраторов и редакторов (читаем про роли), поэтому правильнее всего не давать доступ к администрированию тем, кому не доверяем.