Функция для использования внутри цикла WordPress. Если вам нужен заголовок не текущей, а определённой записи или страницы, то взляните на get_the_title().
В зависимости от настроек поста может также добавлять перед заголовком «Защищено: » или «Личное: ».
the_title( $before = '', $after = '', $echo = true )
false
— возвращает заголовок, если true
(по умолчанию), то выводитthe_title( '<h2>', '</h2>' );
или
echo '<h2>' . the_title( '', '', false ) . '</h2>';
Обратите внимание, что так же, как и у функции the_content(), возвращаемое значение функции the_title()
не очищается. Так и должно быть и на это есть причины. В то же время это означает, что если заголовок поста содержит например <script>alert("приветик");</script>
, то JavaScript будет выполняться везде, где используется функция the_title()
. В таких ситуациях вы можете сами очищать содержимое заголовка там, где нужно, например:
echo '<h2>' . esc_html( the_title( '', '', false ) ) . '</h2>';
Но возможность публиковать неочищенный HTML в заголовках есть только у администраторов и редакторов (читаем про роли), поэтому правильнее всего не давать доступ к администрированию тем, кому не доверяем.
Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.
Здравствуйте!
У меня заголовки поста состоят из нескольких слов. Чтобы не пострадала целостность дизайна нужен принудительный перенос после 1 слова. В HTML это можно было сделать с помощью тега br, приписав его после первого слова. Но как быть, если используется функция the title? Как добавить счетчик первого слова в эту функцию? Или как выделить первое слова, например, в отдельный span?
Не хотелось бы для достижения цели удалять цикл и прописывать чистый код.
Доброго времени суток!
Используйте функцию php
explode()
:)Например при помощи get_the_title():
Спасибо за ответ.
Я изучаю php вместе с WP, т.е пытаюсь делать свой первый сайт полностью самостоятельно. Но хотелось бы делать все правильно и чуть что не прятаться за простоту HTML.
Если я все правильно понял, будет что-то в этом роде (у меня + счетчик самих постов и list для удобства восприятия):
Данный код вроде работает, выводит так как мне и нужно. Но заголовок, конечно, перестал быть ссылкой и я никак не соображу куда эту ссылку добавить в коде. Или при принудительном разбиении заголовка он уже и не может быть ссылкой?
Чтобы заголовок стал ссылкой, поместите его вовнутрь тега
В этом моменте я никак и не соображу. Если обернуть весь вывод заголовка:
то получается, что ссылкой становится только первое слово. Второе вообще Исчезает.
Тоже самое происходит, если обернуть только сам вывод (echo). Вторая часть заголовка тоже исчезает. Видимо, я неправильно оборачиваю.
Нет-нет. Обертка работает. Второе слово не исчезает, а сползает на контент. Сразу не заметил, у заголовка и нижнего фона цвет почти один и тот же.
А это уже проблема CSS, а не PHP.