Wp_get_document_title() function

WordPress development comment four Reading mode

WordPress version 4.4.0 started, adding wp_get_document_title() Function, and wp_title(); It is no longer recommended.

Location: wp includes/general template. php

 /** * Returns document title for the current page. * * @since 4.4.0 * * @global int $page   Page number of a single post. * @global int $paged Page number of a list of posts. * * @return string Tag with the document title. */ function wp_get_document_title() { /** * Filters the document title before it is generated. * * Passing a non-empty value will short-circuit wp_get_document_title(), * returning that value instead. * * @since 4.4.0 * * @param string $title The document title.  Default empty string. */ $title = apply_filters( 'pre_get_document_title', '' ); if ( !  empty( $title ) ) { return $title; } global $page, $paged; $title = array( 'title' => '', ); // If it's a 404 page, use a "Page not found" title. if ( is_404() ) { $title['title'] = __( 'Page not found' ); // If it's a search,  use a dynamic search results title. } elseif ( is_search() ) { /* translators: %s: Search query. */ $title['title'] = sprintf( __( 'Search Results for “%s”' ), get_search_query() ); // If on the front page, use the site title. } elseif ( is_front_page() ) { $title['title'] = get_bloginfo( 'name', 'display' ); // If on a post type archive,  use the post type archive title. } elseif ( is_post_type_archive() ) { $title['title'] = post_type_archive_title( '', false ); // If on a taxonomy archive, use the term title. } elseif ( is_tax() ) { $title['title'] = single_term_title( '', false ); /* * If we're on the blog page that is not the homepage * or a single post of any post type, use the post title. */ } elseif ( is_home() || is_singular() ) { $title['title'] = single_post_title( '', false ); // If on a category or tag archive, use the term title. } elseif ( is_category() || is_tag() ) { $title['title'] = single_term_title( '', false ); // If on an author archive,  use the author's display name. } elseif ( is_author() && get_queried_object() ) { $author         = get_queried_object(); $title['title'] = $author->display_name; // If it's a date archive,  use the date as the title. } elseif ( is_year() ) { $title['title'] = get_the_date( _x( 'Y', 'yearly archives date format' ) ); } elseif ( is_month() ) { $title['title'] = get_the_date( _x( 'F Y', 'monthly archives date format' ) ); } elseif ( is_day() ) { $title['title'] = get_the_date(); } // Add a page number if necessary. if ( ( $paged >= 2 || $page >= 2 ) && !  is_404() ) { /* translators: %s: Page number. */ $title['page'] = sprintf( __( 'Page %s' ), max( $paged, $page ) ); } // Append the description or site title to give context. if ( is_front_page() ) { $title['tagline'] = get_bloginfo( 'description', 'display' ); } else { $title['site'] = get_bloginfo( 'name', 'display' ); } /** * Filters the separator for the document title. * * @since 4.4.0 * * @param string $sep Document title separator.  Default '-'. */ $sep = apply_filters( 'document_title_separator', '-' ); /** * Filters the parts of the document title. * * @since 4.4.0 * * @param array $title { *      The document title parts. * *     @type string $title    Title of the viewed page. *     @type string $page     Optional. Page number if paginated. *     @type string $tagline Optional.  Site description when on home page. *     @type string $site     Optional. Site title when not on home page. * } */ $title = apply_filters( 'document_title_parts', $title ); $title = implode( " $sep ", array_filter( $title ) ); /** * Filters the document title. * * @since 5.8.0 * * @param string $title Document title. */ $title = apply_filters( 'document_title', $title ); return $title; }

If you want to enable WordPress theme title function, do not install WordPress SEO In the case of plug-ins, the following codes can be used:

 function theme_support_title_setup() { add_theme_support( 'title-tag' ); } add_action( 'after_setup_theme', 'theme_support_title_setup' );

Conversely, if the theme uses add_theme_support ('title tag'); Function. To cancel the WordPress theme title function, you can use the following code:

 remove_action( 'wp_head', '_wp_render_title_tag', 1 );

If you do not want to cancel the WordPress theme title function, but also want to customize some page SEO title information, you can use the following filter.

document_title_separator

' document_title_separator ' Filter to set the separator between headings. If you want to change the separator between the website name and the title to "|", you can use the following code:

 function custom_document_title_separator() { $separator = ' | '; return $separator; } add_filter('document_title_separator', 'custom_document_title_separator');

document_title_parts

' document_title_parts ' Filters are used to set other components of document titles, which are passed through associated data.

For example, the homepage title is in the form of "website name website description" by default. If you do not want website description, you can delete the tagline in the array.

 function document_title_remove_tagline( $title ){ if( is_home() && isset( $title['tagline'] ) ) { unset( $title['tagline'] ); } return $title; } add_filter( 'document_title_parts', 'document_title_remove_tagline' );

If you want to change the title, you can use the following code to keep the website separator and name:

 function custom_site_seo_title( $title ) { $title ['title ']="Customize page SEO title" return $title; } add_filter('document_title_parts', 'custom_site_seo_title', 10, 1);

pre_get_document_title

' pre_get_document_title ' inspect wp_get_document_title() Whether to return anything instead of a null value. Sample code:

 function remove_site_desc_title_home( $title ){ if ( is_home() || is_front_page() ) { $title = get_bloginfo( 'name' ); } return $title; } add_filter( 'pre_get_document_title', 'remove_site_desc_title_home' );

' wp_get_document_title(); ' Equivalent to WordPress before 4.4.0 wp_title(); Function to return the document title of the current page. The basic usage is as follows:

 <head> <meta charset="<?php bloginfo( 'charset' ); ?> "> <meta name="viewport" content="width=device-width" /> <title><? php echo wp_get_document_title(); ?></ title> <? php wp_head(); ?> </head>

 

 

Most of the articles on this site are original and used for personal learning records, which may be helpful to you, for reference only!

 weinxin
My Wechat
Copyright Notice
Please indicate the source and link of the original article reprinted on this site. Thank you for your cooperation!
five hundred and ninety-eight million eight hundred and forty-five thousand and six
 
 Robin
  • WordPress development
five hundred and ninety-eight million eight hundred and forty-five thousand and six
 anonymous

Comment

Anonymous netizens
 :?:  :razz:  :sad:  :evil:  :!:  :smile:  :oops:  :grin:  :eek:  :shock:  :???:  :cool:  :lol:  :mad:  :twisted:  :roll:  :wink:  :idea:  :arrow:  :neutral:  :cry:  :mrgreen:

Drag the slider to complete validation