- wp_title() │ WP 1.0.0
- Возвращает
- Использование
- Примеры
- #1 Выведем заголовок блога
- #2 Если нужно убрать разделитель, то вызываем функцию так:
- #3 Поменяем местами заголовки
- #4 Отдельный заголовок для главной страницы
- #5 Использование разделителей
- Заметки
- Список изменений
- Код wp_title() wp title WP 6.2.2
- Cвязанные функции
- Другие функции темы
- Основные
- wp_title() │ WP 1.0.0
- Return
- Usage
- Examples
- #1 Without a separator
- #2 Display the blog title
- #3 Display for homepage
- #4 Using a custom separator
- #5 Reverse the titles
- Notes
- Changelog
- wp_title() wp title code WP 6.2.2
- Related Functions
- Other Theme Functions
- Main Functions
wp_title() │ WP 1.0.0
Функция считается устаревшей с версии 4.4. Вместо неё следует использовать поддержку темы ‘title-tag’:
/* * Let WordPress manage the document title. * By adding theme support, we declare that this theme does not use a * hard-coded tag in the document head, and expect WordPress to * provide it for us. */ add_theme_support( 'title-tag' );
В функции можно указать разделитель между названием страницы и дополнительными словами в заголовке. С версии 2.5, можно указать, с какой стороны заголовка разделитель должен находиться (справа, слева). Этот Тег шаблона можно использовать повсеместно, как за пределами Цикла WordPress, так и внутри него. Обычно его используют для указания заголовка страницы в теге
Хуки из функции
Возвращает
Использование
$sep(строка) Текст, который будет показан до или после заголовка (разделитель). По умолчанию сепаратором будет символ: » .
По умолчанию: » (») $echo(логический) Выводить (true) или возвращать заголовок в переменную (false). По умолчанию заголовок выводится на экран.
По умолчанию: true $seplocation(строка) Определяет расположение разделителя. Введено в версии 2.5. Если указать right , то разделитель будет расположен справа от заголовка, во всех остальных случаях слева.
По умолчанию: »
Примеры
#1 Выведем заголовок блога
Выведем название блога (используя bloginfo()) и заголовок страницы (предположим, что мы находимся на странице поста).
#2 Если нужно убрать разделитель, то вызываем функцию так:
#3 Поменяем местами заголовки
#4 Отдельный заголовок для главной страницы
Если для главной страницы мы используем произвольный шаблон, с произвольный выводом (Циклом WordPress), то заголовок страницы может определяться не так как нам бы хотелось. Чтобы избежать этого используйте такой код:
#5 Использование разделителей
Заметки
Список изменений
Код wp_title() wp title WP 6.2.2
function wp_title( $sep = '»', $display = true, $seplocation = '' ) < global $wp_locale; $m = get_query_var( 'm' ); $year = get_query_var( 'year' ); $monthnum = get_query_var( 'monthnum' ); $day = get_query_var( 'day' ); $search = get_query_var( 's' ); $title = ''; $t_sep = '%WP_TITLE_SEP%'; // Temporary separator, for accurate flipping, if necessary. // If there is a post. if ( is_single() || ( is_home() && ! is_front_page() ) || ( is_page() && ! is_front_page() ) ) < $title = single_post_title( '', false ); >// If there's a post type archive. if ( is_post_type_archive() ) < $post_type = get_query_var( 'post_type' ); if ( is_array( $post_type ) ) < $post_type = reset( $post_type ); >$post_type_object = get_post_type_object( $post_type ); if ( ! $post_type_object->has_archive ) < $title = post_type_archive_title( '', false ); >> // If there's a category or tag. if ( is_category() || is_tag() ) < $title = single_term_title( '', false ); >// If there's a taxonomy. if ( is_tax() ) < $term = get_queried_object(); if ( $term ) < $tax = get_taxonomy( $term->taxonomy ); $title = single_term_title( $tax->labels->name . $t_sep, false ); > > // If there's an author. if ( is_author() && ! is_post_type_archive() ) < $author = get_queried_object(); if ( $author ) < $title = $author->display_name; > > // Post type archives with has_archive should override terms. if ( is_post_type_archive() && $post_type_object->has_archive ) < $title = post_type_archive_title( '', false ); >// If there's a month. if ( is_archive() && ! empty( $m ) ) < $my_year = substr( $m, 0, 4 ); $my_month = substr( $m, 4, 2 ); $my_day = (int) substr( $m, 6, 2 ); $title = $my_year . ( $my_month ? $t_sep . $wp_locale->get_month( $my_month ) : '' ) . ( $my_day ? $t_sep . $my_day : '' ); > // If there's a year. if ( is_archive() && ! empty( $year ) ) < $title = $year; if ( ! empty( $monthnum ) ) < $title .= $t_sep . $wp_locale->get_month( $monthnum ); > if ( ! empty( $day ) ) < $title .= $t_sep . zeroise( $day, 2 ); >> // If it's a search. if ( is_search() ) < /* translators: 1: Separator, 2: Search query. */ $title = sprintf( __( 'Search Results %1$s %2$s' ), $t_sep, strip_tags( $search ) ); >// If it's a 404 page. if ( is_404() ) < $title = __( 'Page not found' ); >$prefix = ''; if ( ! empty( $title ) ) < $prefix = " $sep "; >/** * Filters the parts of the page title. * * @since 4.0.0 * * @param string[] $title_array Array of parts of the page title. */ $title_array = apply_filters( 'wp_title_parts', explode( $t_sep, $title ) ); // Determines position of the separator and direction of the breadcrumb. if ( 'right' === $seplocation ) < // Separator on right, so reverse the order. $title_array = array_reverse( $title_array ); $title = implode( " $sep ", $title_array ) . $prefix; >else < $title = $prefix . implode( " $sep ", $title_array ); >/** * Filters the text of the page title. * * @since 2.0.0 * * @param string $title Page title. * @param string $sep Title separator. * @param string $seplocation Location of the separator ('left' or 'right'). */ $title = apply_filters( 'wp_title', $title, $sep, $seplocation ); // Send it out. if ( $display ) < echo $title; >else < return $title; >>
Cвязанные функции
Другие функции темы
- add_theme_support()
- bloginfo()
- body_class()
- current_theme_supports()
- get_custom_header_markup()
- get_custom_logo()
- get_header_image()
- get_header_image_tag()
- get_header_textcolor()
- get_header_video_url()
- get_page_template()
- get_page_templates()
- get_post_class()
- get_query_template()
- get_stylesheet()
- get_template()
- get_theme_mod()
- get_theme_mods()
- get_theme_root()
- has_custom_logo()
- has_header_image()
- has_header_video()
- header_image()
- is_child_theme()
- is_header_video_active()
- post_class()
- register_nav_menu()
- register_nav_menus()
- register_theme_directory()
- remove_theme_mod()
- remove_theme_mods()
- remove_theme_support()
- search_theme_directories()
- set_theme_mod()
- single_month_title()
- the_custom_header_markup()
- the_custom_logo()
- the_header_video_url()
- the_search_query()
- unregister_nav_menu()
- wp_body_open()
- wp_custom_css_cb()
- wp_footer()
- wp_get_archives()
- wp_get_document_title()
- wp_get_theme()
- wp_get_themes()
- wp_head()
- wp_is_mobile()
- wp_nav_menu()
- wp_robots()
- wp_site_icon()
Основные
- calendar_week_mod()
- get_archives_link()
- get_bloginfo()
- get_calendar()
- get_current_blog_id()
- get_footer()
- get_header()
- get_search_form()
- get_sidebar()
- get_template_part()
- is_404()
- is_active_sidebar()
- is_admin()
- is_archive()
- is_attachment()
- is_author()
- is_category()
- is_comment_feed()
- is_date()
- is_day()
- is_dynamic_sidebar()
- is_embed()
- is_feed()
- is_front_page()
- is_home()
- is_month()
- is_page_template()
- is_paged()
- is_post_type_archive()
- is_preview()
- is_search()
- is_single()
- is_singular()
- is_ssl()
- is_sticky()
- is_tag()
- is_tax()
- is_year()
- language_attributes()
- post_type_archive_title()
- register_sidebar()
- setup_postdata()
- the_archive_description()
- the_archive_title()
- wp_enqueue_script()
- wp_enqueue_style()
- wp_login_form()
- wp_login_url()
- wp_loginout()
- wp_logout_url()
- wp_lostpassword_url()
- wp_register()
wp_title() │ WP 1.0.0
You can specify a separator between a page title and additional words in the title. Since 2.5, you can specify the direction of the separator: right, left (by default, no need to specify it). This template tag can be used anywhere: inside The Loop and outside of it. Usually, it’s used to display the
Hooks from the function
Return
Usage
wp_title( $sep, $display, $seplocation );
$sep(string) How to separate the various items within the page title.
Default: ‘»’ $display(true/false) Whether to display or retrieve title.
Default: true $seplocation(string) Direction to display a separator. Introduced in version 2.5. If you specify right , the separator will be located to the right of the title, in all other cases, it will be to the left.
Default: »
Examples
#1 Without a separator
#2 Display the blog title
#3 Display for homepage
If for the homepage we use a custom template with an arbitrary output (The Loop), then the page title may be incorrect. To avoid this, use a similar code:
#4 Using a custom separator
#5 Reverse the titles
Notes
Changelog
wp_title() wp title code WP 6.2.2
function wp_title( $sep = '»', $display = true, $seplocation = '' ) < global $wp_locale; $m = get_query_var( 'm' ); $year = get_query_var( 'year' ); $monthnum = get_query_var( 'monthnum' ); $day = get_query_var( 'day' ); $search = get_query_var( 's' ); $title = ''; $t_sep = '%WP_TITLE_SEP%'; // Temporary separator, for accurate flipping, if necessary. // If there is a post. if ( is_single() || ( is_home() && ! is_front_page() ) || ( is_page() && ! is_front_page() ) ) < $title = single_post_title( '', false ); >// If there's a post type archive. if ( is_post_type_archive() ) < $post_type = get_query_var( 'post_type' ); if ( is_array( $post_type ) ) < $post_type = reset( $post_type ); >$post_type_object = get_post_type_object( $post_type ); if ( ! $post_type_object->has_archive ) < $title = post_type_archive_title( '', false ); >> // If there's a category or tag. if ( is_category() || is_tag() ) < $title = single_term_title( '', false ); >// If there's a taxonomy. if ( is_tax() ) < $term = get_queried_object(); if ( $term ) < $tax = get_taxonomy( $term->taxonomy ); $title = single_term_title( $tax->labels->name . $t_sep, false ); > > // If there's an author. if ( is_author() && ! is_post_type_archive() ) < $author = get_queried_object(); if ( $author ) < $title = $author->display_name; > > // Post type archives with has_archive should override terms. if ( is_post_type_archive() && $post_type_object->has_archive ) < $title = post_type_archive_title( '', false ); >// If there's a month. if ( is_archive() && ! empty( $m ) ) < $my_year = substr( $m, 0, 4 ); $my_month = substr( $m, 4, 2 ); $my_day = (int) substr( $m, 6, 2 ); $title = $my_year . ( $my_month ? $t_sep . $wp_locale->get_month( $my_month ) : '' ) . ( $my_day ? $t_sep . $my_day : '' ); > // If there's a year. if ( is_archive() && ! empty( $year ) ) < $title = $year; if ( ! empty( $monthnum ) ) < $title .= $t_sep . $wp_locale->get_month( $monthnum ); > if ( ! empty( $day ) ) < $title .= $t_sep . zeroise( $day, 2 ); >> // If it's a search. if ( is_search() ) < /* translators: 1: Separator, 2: Search query. */ $title = sprintf( __( 'Search Results %1$s %2$s' ), $t_sep, strip_tags( $search ) ); >// If it's a 404 page. if ( is_404() ) < $title = __( 'Page not found' ); >$prefix = ''; if ( ! empty( $title ) ) < $prefix = " $sep "; >/** * Filters the parts of the page title. * * @since 4.0.0 * * @param string[] $title_array Array of parts of the page title. */ $title_array = apply_filters( 'wp_title_parts', explode( $t_sep, $title ) ); // Determines position of the separator and direction of the breadcrumb. if ( 'right' === $seplocation ) < // Separator on right, so reverse the order. $title_array = array_reverse( $title_array ); $title = implode( " $sep ", $title_array ) . $prefix; >else < $title = $prefix . implode( " $sep ", $title_array ); >/** * Filters the text of the page title. * * @since 2.0.0 * * @param string $title Page title. * @param string $sep Title separator. * @param string $seplocation Location of the separator ('left' or 'right'). */ $title = apply_filters( 'wp_title', $title, $sep, $seplocation ); // Send it out. if ( $display ) < echo $title; >else < return $title; >>
Related Functions
Other Theme Functions
- add_theme_support()
- bloginfo()
- body_class()
- current_theme_supports()
- get_custom_header_markup()
- get_custom_logo()
- get_header_image()
- get_header_image_tag()
- get_header_textcolor()
- get_header_video_url()
- get_page_template()
- get_page_templates()
- get_post_class()
- get_query_template()
- get_stylesheet()
- get_template()
- get_theme_mod()
- get_theme_mods()
- get_theme_root()
- has_custom_logo()
- has_header_image()
- has_header_video()
- header_image()
- is_child_theme()
- is_header_video_active()
- post_class()
- register_nav_menu()
- register_nav_menus()
- register_theme_directory()
- remove_theme_mod()
- remove_theme_mods()
- remove_theme_support()
- search_theme_directories()
- set_theme_mod()
- single_month_title()
- the_custom_header_markup()
- the_custom_logo()
- the_header_video_url()
- the_search_query()
- unregister_nav_menu()
- wp_body_open()
- wp_custom_css_cb()
- wp_footer()
- wp_get_archives()
- wp_get_document_title()
- wp_get_theme()
- wp_get_themes()
- wp_head()
- wp_is_mobile()
- wp_nav_menu()
- wp_robots()
- wp_site_icon()
Main Functions
- calendar_week_mod()
- get_archives_link()
- get_bloginfo()
- get_calendar()
- get_current_blog_id()
- get_footer()
- get_header()
- get_search_form()
- get_sidebar()
- get_template_part()
- is_404()
- is_active_sidebar()
- is_admin()
- is_archive()
- is_attachment()
- is_author()
- is_category()
- is_comment_feed()
- is_date()
- is_day()
- is_dynamic_sidebar()
- is_embed()
- is_feed()
- is_front_page()
- is_home()
- is_month()
- is_page_template()
- is_paged()
- is_post_type_archive()
- is_preview()
- is_search()
- is_single()
- is_singular()
- is_ssl()
- is_sticky()
- is_tag()
- is_tax()
- is_year()
- language_attributes()
- post_type_archive_title()
- register_sidebar()
- setup_postdata()
- the_archive_description()
- the_archive_title()
- wp_enqueue_script()
- wp_enqueue_style()
- wp_login_form()
- wp_login_url()
- wp_loginout()
- wp_logout_url()
- wp_lostpassword_url()
- wp_register()