wp_get_document_title()
有一些有趣的过滤器-pre_get_document_title
和document_title_parts
.
/**
* Filter 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.
* }
*/
add_filter( \'document_title_parts\', function ( $title ) {
if ( is_home() || is_front_page() )
unset($title[\'tagline\']);
return $title;
}, 10, 1 );
回顾这一点;这个
pre_get_document_title
过滤器非常有趣。基本上,在处理标题之前,它将运行此过滤器。如果结果不是空的(这不是预期的),则进程短路。
$title = apply_filters( \'pre_get_document_title\', \'\' );
if ( ! empty( $title ) ) {
return $title;
}
这意味着,如果定义了标题,就不必担心其他任何事情。好在你可以对规则进行例外。因此,要回答您最初的问题:
add_filter( \'pre_get_document_title\', function( $title ) {
if ( is_home() || is_front_page() ) {
// Return blog title on front page
$title = get_bloginfo( \'name\' );
}
return $title;
} );