- wp_title() WP 1.5.0
- Возвращает
- Использование
- Примеры
- #1 Выведем заголовок блога
- #1.2. Если нужно убрать разделитель, то вызываем функцию так:
- #2 Отдельный заголовок для главной страницы
- #3 Использование разделителей
- #4 Поменяем местами заголовки
- wp_get_document_title() WP 4.4.0
- Возвращает
- Использование
- Примеры
- #1 Демонстрация работы
- #2 Вывод TITLE заголовка страницы
- #3 Выведем свой заголовок, используя фильтр
- #3.1 Переопределяем функцию
- #4 Изменим разделитель между заголовком и названием сайта
- #5 Удалим названия сайта в конце заголовка
- #6 Удалим описания сайта из заголовка главной страницы
- Заметки
- Список изменений
- Код wp_get_document_title() wp get document title WP 5.8.1
- Cвязанные функции
- title (заголовок)
- Другие функции темы
- WordPress. Заголовок страницы
- Выводим заголовок страницы
- Фильтры для манипуляций с заголовком
- pre_get_document_title
- document_title_separator
- document_title_parts
- Добавляем поддержку title-tag
- wp_get_document_title() – вывод тайтла страницы
- Как формируются заголовки:
- Изменение разделителя заголовка «–» через хук
- Удаление / Изменение некоторых частей заголовков
- Создание собственных правил формирования произвольных заголовков
- the_title() WP 0.71
- Возвращает
- Использование
- Примеры
- #1. Выведем на экран заголовок записи в html теге H3:
- #2. Вывод заголовка с текстом до него:
- #3. Получим заголовок записи в переменную
- Список изменений
- Код the_title() the title WP 5.8.1
- Cвязанные функции
- title (заголовок)
- Записи: посты, страницы, .
- Записи: посты, страницы, .
wp_title() WP 1.5.0
Выводит/возвращает заголовок страницы.
Функция считается устаревшей с версии 4.4.
Вместо неё следует использовать поддержку темы ‘title-tag’:
В основе работы ‘title-tag’ лежит функция wp_get_document_title().
В функции можно указать разделитель между названием страницы и дополнительными словами в заголовке. С версии 2.5, можно указать, с какой стороны заголовка разделитель должен находиться (справа, слева).
Этот Тег шаблона можно использовать повсеместно, как за пределами Цикла WordPress, так и внутри него. Обычно его используют для указания заголовка страницы в теге в части страницы.
Хуки из функции
Возвращает
Строку|null . Строку при получении, null – при отображении.
Использование
Примеры
#1 Выведем заголовок блога
Выведем название блога (используя bloginfo()) и заголовок страницы (предположим, что мы находимся на странице поста).
Получим: Заголовок блога » Название поста
#1.2. Если нужно убрать разделитель, то вызываем функцию так:
#2 Отдельный заголовок для главной страницы
Если для главной страницы мы используем произвольный шаблон, с произвольный выводом (Циклом WordPress), то заголовок страницы может определяться не так как нам бы хотелось. Чтобы избежать этого используйте такой код:
#3 Использование разделителей
Выведем название блога затем заголовок страницы и в качестве разделителя установим знак » | «.
Получим: Заголовок блога | Заголовок страницы
Важно! Не используйте в качестве разделителя знаки » _ » и » — «. Это может вызвать ошибки.
#4 Поменяем местами заголовки
Если нужно отобразить сначала заголовок страницы, а затем название блога используйте такой код:
Источник
wp_get_document_title() WP 4.4.0
Получает заголовок текущей страницы (документа), который принято выводить в html теге . Замена для устаревшей функции wp_title() .
В конце заголовка добавляется — название сайта . На главной странице вместо названия выводится — описание сайта . Главная страница определяется так: is_home() && is_front_page() . Для страниц пагинации в конце еще будет добавлен номер страницы: – Страница 2 .
Эта функция сработает в части HTML автоматически, если у темы включена поддержка title-tag :
В этом случае в будет добавлена такая конструкция:
Соответственно в этом случае вообще не нужно добавлять тег в , он будет добавлен автоматически. Добавит его функция _wp_render_title_tag(), которая сработает на хуке wp_head , который в свою очередь вызывается функцией wp_head().
Работу этой функции можно переопределить через хук pre_get_document_title:
Используйте фильтр document_title_parts , чтобы изменить любую часть заголовка выводимого этой функцией.
Хуки из функции
Возвращает
Строку . Заголовок текущей страницы.
Использование
Примеры
#1 Демонстрация работы
Допустим мы находимся на странице «Контакты»:
#2 Вывод TITLE заголовка страницы
Это замена для тега шаблона wp_title() . Используется в header.php для вывода заголовка любой страницы.
Это демонстрационный пример, на деле в WP этот код выполняется функцией _wp_render_title_tag(), которая в свою очередь зацеплена на хук wp_head . Т.е. код выполняется в HEAD части HTML и чтобы его включить, нужно включить поддержку темы title-tag.
#3 Выведем свой заголовок, используя фильтр
Допустим нам нужно чтобы эта функцию вообще не работала и через нее мы хотим вывести свой заголовок, например «Моя страница», на странице с ID 20:
#3.1 Переопределяем функцию
Можно написать свою функцию и полностью заменить работу этой функции:
#4 Изменим разделитель между заголовком и названием сайта
По умолчанию функция добавляет в после заголовка название сайта через разделитель: ‘ — ‘. Разделитель можно изменить через фильтр:
#5 Удалим названия сайта в конце заголовка
Ко всем заголовкам на отдельных страницах is_singular() добавляется название сайта, через разделитель. Это не всегда хорошо, давайте поправим этот момент. Для этого используем фильтр: document_title_parts:
#6 Удалим описания сайта из заголовка главной страницы
На главной странице выводиться «Название сайта — описание сайта». Чтобы удалить описание и выводить только называние, используйте такой хук:
Заметки
- Global. int. $page Page number of a single post.
- Global. int. $paged Page number of a list of posts.
Список изменений
Код wp_get_document_title() wp get document title WP 5.8.1
Cвязанные функции
title (заголовок)
Другие функции темы
а чем wp_title() не угодил? по-моему полный аналог. Кама, просветитель меня)
Во-первых. Само название wp_title() неопределенное. Подходит для любого заголовка: сайта, записи, документа и т.д. А с wp_get_document_title() сразу ясно о чем речь.
Во-вторых. Для гибкости и возможности подключаться через плагины, в частности для SEO, просто необходимо использовать хуки (у каждого сайта свои нужды), а wp_title прописывается жестко в html и плагинам приходилось костылями переделывать сам тег в html, а не использовать хуки. Это идет в разрез с общей схемой использования хуков. Кроме того, так сложилось, что обычно заголовок прописывался так:
тут даже если через хук изменить заголовок wp_title() , то он полностью не поменяется.
Далее, разных, уже неправильных, мануалов по wp_title() в сети много. И легче сделать все по-новому, чем объяснить что: были изменения и теперь надо использовать так, а не так. Чтобы от этого отвязаться нужно в корне изменить принцип,тогда уже не будет никакой связи с неправильными мануалами.
Далее, хук wp_title срабатывает в конце функции, т.е. сначала все операции, а потом хук. И там обычно просто полностью переопределяется работа функции. Это неправильно.
В итоге получается, что wp_get_document_title() это тоже самое, но с новым подходом. Он вешается через хук wp_head и не используется напрямую в html. Функция сама по себе нигде не вызывается, а изменяться через хуки: можно на начальном этапе все поменять (‘pre_get_document_title’) или в конце дополнить (‘document_title_parts’).
Источник
WordPress. Заголовок страницы
Выводим заголовок страницы
Функция wp_get_document_title() получает заголовок текущей страницы (документа), который принято выводить в теге title . Это замена для устаревшей функции wp_title() . Для главной страницы функция возвращает название сайта + тире + краткое описание. Название и описание функция получает из настроек сайта. Для страницы записи функция возвращает название поста + тире + название сайта.
Фильтры для манипуляций с заголовком
В WordPress 4.4 добавилось несколько новых фильтров для манипуляции заголовком окна браузера, которые можно использовать внутри темы или плагина.
pre_get_document_title
Фильтр позволяет переопределить работу функции wp_get_document_title() :
document_title_separator
Фильтр для изменения разделителя между частями заголовка.
document_title_parts
Фильтр частей заголовка, из которых состоит title . Представлен в виде ассоциативного массива, элементы которого можно редактировать, удалять или добавлять.
Добавляем поддержку title-tag
Если добавить теме поддержку title-tag , то в части документа не нужно указывать тег . Тег будет добавлен автоматически функцией _wp_render_title_tag() , которая привязана к событию wp_head . Это событие вызывается из функции wp_head() . Вызов самой функции wp_head() должен быть в файле header.php темы, внутри тега .
При автоматическом добавлении тега WordPress будет использовать функцию wp_get_document_title() для вывода заголовка, т.е. будет добавлен код:
В этом можно убедиться, если заглянуть в исходный код функции _wp_render_title_tag() :
Источник
wp_get_document_title() – вывод тайтла страницы
Когда-то давно, для того, чтобы вывести заголовок страницы (тут я имею ввиду то, что у нас находится между тегами , мы производили различные махинации с функцией wp_title() , больше этого делать не нужно, так как wp_get_document_title() более правильная, универсальная и автоматизированная в этом отношении.
Существует два возможных способа использования этой функции.
Первый – вставляем между тегами это:
Второй – используем функцию add_theme_support() в вашем файле functions.php и больше ничего делать не нужно – функция wp_get_document_title() сработает автоматически через функцию/хук wp_head(). В этому случае тегов , прописаных в файлах темы быть не должно!
Как формируются заголовки:
- is_front_page(),
главная страница,
<Название сайта>– - is_404(),
страница ошибки 404,
Страница не найдена – - is_search(), страница результатов поиска,
Результаты поиска «<Поисковая фраза>» – - is_post_type_archive(),
архивы типа записей,
<Множественное число названия CPT>– - is_tax(), is_category(), is_tag(),
архивы любых таксономий,
<Заголовок элемента таксономии>– - is_home() ИЛИ is_singular(),
страница блога не на главной, либо страница записи/страницы
<Заголовок страницы>– - is_author()
страница архива автора
<Отображаемое имя автора>– - is_year()
страница архива по годам
<Год>– - is_month()
страница архива по месяцам
<Месяц и год>– - is_day()
страница архива по дням
<Тупо дата>– <Название сайта>
Также при нахождении на страницах постраничной навигации is_paged() будет добавляться – Страница <Номер страницы>.
Изменение разделителя заголовка «–» через хук
Функция имеет внутри себя несколько хуков, самой простой позволяет изменить знак разделения, использующийся в заголовке, например если вы вдруг захотите использовать запятую или «|», то можете поменять это следующим кодов в ваш functions.php :
Удаление / Изменение некоторых частей заголовков
Окей, вы наверное заметили, что <Название сайта>(ну заметили же?) добавляется в каждой из ситуаций, а что если вы не хотите, чтобы оно добавлялось? Тут нас спасает хук document_title_parts .
Хочется отметить, что хук довольно умный, если мы удаляем вторую часть, то и разделитель тоже исчезнет! Ну и конечно же вы можете не только удалять какие-то определённые части заголовков, но и изменять их:
Создание собственных правил формирования произвольных заголовков
А это уже место для творчества различных SEO-плагинов, а именно – хук pre_get_document_title . Он работает таким образом, что если возвращает что-либо, а не пустой результат, то функция дальше не выполняется и лишь возвращает результат из хука. Как-то так.
В качестве примера давайте попробуем использовать этот хук для того, чтобы получать заголовок поста из произвольных полей, если они заданы, если же нет, то выводим значение по умолчанию.
- Используйте is_singular(), если хотите, чтобы код срабатывал для записей, страниц и любых произвольных типов постов, is_single() – если вам это нужно только для записей, is_page() – только для страниц
- Можете также почитать и про функцию get_post_meta().
Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.
Если вам нужна помощь с сайтом или разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда будем рады вам помочь!
Источник
the_title() WP 0.71
Выводит на экран заголовок записи. Принято использовать внутри цикла.
Особенностью является, то что заголовок для «личных» и «защищенных» постов будет помечен соответственно: «Защищен: » (Protected: ) и «Личное: » (Private: )
Возвращает
null|Строку . null когда результат выводится на экран ( $echo=true ). Строку, когда ( $echo=false ).
Использование
Примеры
#1. Выведем на экран заголовок записи в html теге H3:
#2. Вывод заголовка с текстом до него:
#3. Получим заголовок записи в переменную
Чтобы получить значение для обработки в PHP, укажите третий параметр $echo, как false или 0. Или используйте функцию get_the_title()
Список изменений
Код the_title() the title WP 5.8.1
Cвязанные функции
title (заголовок)
Записи: посты, страницы, .
Записи: посты, страницы, .
Добрый день, подскажите плиз как можно ограничить количество символов в заголовке? А то у меня на сайте заголовки длинные в анонсе и не очень красиво. Спасибо.
Вставляем такую функцию обрезки текста (заголовка) в functions.php:
В шаблоне юзаем такой код, где 80 — максимальная длинна:
Ух ты, оперативно! Сейчас попробую заюзать, спасибо.
Подскажите пожалуйста, хочу обрезать заголовок в цикле:
Т.е ваша функция
вызывает ошибку, что делать?
Какую ошибку то? Попробуйте такой код:
а можете подсказать, у меня в названии поста написано «Блабла: Название».
что надо вписать в функции, чтобы он убирал все виесте с двоеточием и пробелом.
ковырял функцию, но видать, ковырялки не хватает. соль еще в том, что там до двоеточия попадаются разное количество символов.
Вот такую функцию используйте вместо the_title()
Где нужен заголовок без начальных слов до двоеточия вызываешь так:
Спасибо за функцию обрезки текста (заголовка) Кстати, добавьте эту функцию в новую запись — больше людей увидят!
Спасибо большое, за функцию обрезки текста, очень помогло. clapping
Добрый день.
А можно как-то вставить перенос строки в заголовок поста?
Шорткодом, например, или еще как-то?
Проблема в том, что WP удаляет теги из заголовков((
Если в the_content есть html редактор, то как быть в the_title? Как вставить в заголовок? Спасибо!
Источник