Как вывести заголовок записи wordpress
wp_title() WP 1.5.0
Выводит/возвращает заголовок страницы.
Функция считается устаревшей с версии 4.4.
Вместо неё следует использовать поддержку темы ‘title-tag’:
В основе работы ‘title-tag’ лежит функция wp_get_document_title().
В функции можно указать разделитель между названием страницы и дополнительными словами в заголовке. С версии 2.5, можно указать, с какой стороны заголовка разделитель должен находиться (справа, слева).
Этот Тег шаблона можно использовать повсеместно, как за пределами Цикла WordPress, так и внутри него. Обычно его используют для указания заголовка страницы в теге в части страницы.
Хуки из функции
Возвращает
Использование
Примеры
#1 Выведем заголовок блога
Выведем название блога (используя bloginfo()) и заголовок страницы (предположим, что мы находимся на странице поста).
Получим: Заголовок блога » Название поста
#1.2. Если нужно убрать разделитель, то вызываем функцию так:
#2 Отдельный заголовок для главной страницы
Если для главной страницы мы используем произвольный шаблон, с произвольный выводом (Циклом WordPress), то заголовок страницы может определяться не так как нам бы хотелось. Чтобы избежать этого используйте такой код:
#3 Использование разделителей
Выведем название блога затем заголовок страницы и в качестве разделителя установим знак » | «.
Получим: Заголовок блога | Заголовок страницы
#4 Поменяем местами заголовки
Если нужно отобразить сначала заголовок страницы, а затем название блога используйте такой код:
the_title() WP 0.71
Выводит на экран заголовок записи. Принято использовать внутри цикла.
Особенностью является, то что заголовок для «личных» и «защищенных» постов будет помечен соответственно: «Защищен: » (Protected: ) и «Личное: » (Private: )
Возвращает
Использование
Примеры
#1. Выведем на экран заголовок записи в html теге H3:
#2. Вывод заголовка с текстом до него:
#3. Получим заголовок записи в переменную
Список изменений
Код the_title() the title WP 5.8.2
Cвязанные функции
title (заголовок)
Добрый день, подскажите плиз как можно ограничить количество символов в заголовке? А то у меня на сайте заголовки длинные в анонсе и не очень красиво. Спасибо.
Вставляем такую функцию обрезки текста (заголовка) в functions.php:
В шаблоне юзаем такой код, где 80 — максимальная длинна:
Ух ты, оперативно! Сейчас попробую заюзать, спасибо.
Подскажите пожалуйста, хочу обрезать заголовок в цикле:
вызывает ошибку, что делать?
Какую ошибку то? Попробуйте такой код:
а можете подсказать, у меня в названии поста написано «Блабла: Название».
что надо вписать в функции, чтобы он убирал все виесте с двоеточием и пробелом.
ковырял функцию, но видать, ковырялки не хватает. соль еще в том, что там до двоеточия попадаются разное количество символов.
Вот такую функцию используйте вместо the_title()
Где нужен заголовок без начальных слов до двоеточия вызываешь так:
Спасибо большое, за функцию обрезки текста, очень помогло. clapping
Добрый день.
А можно как-то вставить перенос строки в заголовок поста?
Шорткодом, например, или еще как-то?
Проблема в том, что WP удаляет теги из заголовков((
Если в the_content есть html редактор, то как быть в the_title? Как вставить в заголовок? Спасибо!
get_the_title() WP 0.71
Получает заголовок записи для дальнейшего использования в php. Можно получить заголовок указанной записи.
Функцию можно использовать внутри Цикла WordPress без указания параметра, тогда будет возвращен заголовок текущей записи в цикле. Или передайте ID поста в первом параметре и функция вернет заголовок указанной записи.
Если пост «защищен паролем» или является «личным», то пред заголовком появится соответствующая метка: «Защищен: » (Protected: ) и «Личное: » (Private: ).
get_the_title() рекомендуется очищать перед выводом на экран, потому что она выводит все HTML теги как есть, а это не безопасно.
Очищать можно двумя способами:
Полная очистка, запрещает использование HTML тегов в заголовке
Но если теги очень нужны, то очищаем так (производительность в этом случае страдает):
Хуки из функции
Возвращает
Использование
Идентификатор записи. Можно передать сразу объект записи.
По умолчанию: текущий пост в цикле
Примеры
#1 Выведем заголовок текущей записи в цикле
#2 Выведем заголовок поста 25
Список изменений
Код get_the_title() get the title WP 5.8.2
Cвязанные функции
title (заголовок)
Как задать метаданныйе (тайтл, кейвордс, и десрипшн) для рубрике без плагина? Думаю, это многим интересно.
В ответ:
ID Поста: 1
Устал Вытаскивать через query_posts(). Спасибо
и Ещё Вопрос, Возможно ли получить все данные по title:
Пораскинул я мозгами, понял что в конкретном случае мне этого ненадо но! решение нашёл
Все по «учебнику» Камы Спасибо за труды.
каким вариантом более правильно выводить заголовок?
Пожалуй, в зависимости от ситуации.
Если нужно вывести на экран оригинальный заголовок, то вариант
Он выведется таким, каким хранится в базе данных. Правда при выводе лучше использовать esc_html() от греха подальше, читай очистка (валидация, проверка) входящих/исходящих данных в WordPress.
Если нужно, чтобы заголовок выводился по принципам самого WordPress, то лучше использовать вариант
wp_get_document_title() WP 4.4.0
Эта функция сработает в части HTML автоматически, если у темы включена поддержка title-tag :
В этом случае в будет добавлена такая конструкция:
Работу этой функции можно переопределить через хук pre_get_document_title:
Хуки из функции
Возвращает
Использование
Примеры
#1 Демонстрация работы
Допустим мы находимся на странице «Контакты»:
#2 Вывод TITLE заголовка страницы
#3 Выведем свой заголовок, используя фильтр
Допустим нам нужно чтобы эта функцию вообще не работала и через нее мы хотим вывести свой заголовок, например «Моя страница», на странице с ID 20:
#3.1 Переопределяем функцию
Можно написать свою функцию и полностью заменить работу этой функции:
#4 Изменим разделитель между заголовком и названием сайта
#5 Удалим названия сайта в конце заголовка
Ко всем заголовкам на отдельных страницах is_singular() добавляется название сайта, через разделитель. Это не всегда хорошо, давайте поправим этот момент. Для этого используем фильтр: document_title_parts:
#6 Удалим описания сайта из заголовка главной страницы
Заметки
Список изменений
Код wp_get_document_title() wp get document title WP 5.8.2
Cвязанные функции
title (заголовок)
Другие функции темы
а чем wp_title() не угодил? по-моему полный аналог. Кама, просветитель меня)
Во-первых. Само название wp_title() неопределенное. Подходит для любого заголовка: сайта, записи, документа и т.д. А с wp_get_document_title() сразу ясно о чем речь.
Во-вторых. Для гибкости и возможности подключаться через плагины, в частности для SEO, просто необходимо использовать хуки (у каждого сайта свои нужды), а wp_title прописывается жестко в html и плагинам приходилось костылями переделывать сам тег в html, а не использовать хуки. Это идет в разрез с общей схемой использования хуков. Кроме того, так сложилось, что обычно заголовок прописывался так:
Далее, разных, уже неправильных, мануалов по wp_title() в сети много. И легче сделать все по-новому, чем объяснить что: были изменения и теперь надо использовать так, а не так. Чтобы от этого отвязаться нужно в корне изменить принцип,тогда уже не будет никакой связи с неправильными мануалами.
Далее, хук wp_title срабатывает в конце функции, т.е. сначала все операции, а потом хук. И там обычно просто полностью переопределяется работа функции. Это неправильно.
В итоге получается, что wp_get_document_title() это тоже самое, но с новым подходом. Он вешается через хук wp_head и не используется напрямую в html. Функция сама по себе нигде не вызывается, а изменяться через хуки: можно на начальном этапе все поменять (‘pre_get_document_title’) или в конце дополнить (‘document_title_parts’).
Как в WordPress вывести заголовок страницы блога?
Эта тема — лакомый кусочек для всех, кто занимается созданием WordPress тем. Очень важно, чтобы ваша тема выводила подходящий заголовок на страницу независимо от того, какие настройки используются владельцем сайта.
На примере выше я хочу установить статическую страницу для моей главной страницы, а для страницы записей (страницы блога) назначить другую страницу. Сейчас, когда моя страница записей уже не используется для главной страницы, я хочу выводить такой заголовок страницы, который пользователь назначит для нее в теме.
Это добавит ясности для моих пользователей и сделает все мои страницы максимально целостными. Например, может случится так, что я буду использовать страницу записей для отображения новостей и захочу назвать эту страницу “Новости”.
Вместо того, чтобы озадачить пользователя вопросом как отобразить необходимый заголовок на странице, целесообразней было бы обеспечить его автоматический вывод.
Все, что вы получите в итоге, это — только заголовок для первой записи на странице.
И так, как же вывести заголовок страницы для страницы записей в WordPress?
Есть два способа сделать это. Первый — самый простой:
Единственная проблема, с которой вы можете столкнуться, используя этот метод, это то, что функция возвращает заголовок моментально. Если вам захочется по какой-либо причине записать в переменную заголовок, вам придется использовать буферизацию вывода.
К сожалению, в нашем случае это функция не сможет определить id текущей страницы правильно и это есть та самая причина, по которой мы не смогли воспользоваться функцией the_title() раньше: функция the_title() — это функция-обёртка для функции get_the_title().
К счастью, WordPress хранит id страницы, которую вы хотите использовать как страницу записей в базе данных. Поэтому, мы можем задать параметр таким способом:
$our_title = get_the_title( get_option(‘page_for_posts’, true) );
И даже несмотря на то, что этой информации может быть для вас предостаточно, по крайней мере теперь вы знаете, как получить заголовок для страницы блога.