函数原型:
wp_title( string $sep = '»', bool $display = true, string $seplocation = '' ): string|void
默认情况下,页面标题将在页面标题之前显示分隔符,因此博客标题将位于页面标题之前。这不利于标题显示,因为博客标题显示在大多数选项卡上,而不是用户正在查看的重要页面。
将博客标题放在页面标题的后面或右边也有SEO的好处。然而,在大多数浏览器支持选项卡的情况下,将博客标题放在右边是很常见的。您可以通过使用seplocation参数并将值设置为“right”来实现这一点。这一变化是在2.5.0左右引入的,以防主题的向后兼容性很重要。
参数说明:
$sep,分隔符,默认:'>>'。
$display,直接显示还是返回一个字符串。默认:'true',直接显示。
$seplocation,分隔符位置,'left' or 'right'。
插件可能会使用wp_title过滤器来生成一个值。虽然可以通过连接bloginfo(网站名称)来构建“标题”,但如果您在主题中不使用wp_title函数,则可能会出现错误或意外行为。
返回值:
函数返回一个串联的字符串。它总是在数据库中查询默认字符串;默认字符串的值取决于帖子或页面的类型。
文章页:文章的标题
基于日期的归档:日期(例如,“2006”, “2006 – January”)
类别:类别的名称
作者页面:用户的公用名称
函数源码:
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 ";
}
$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 );
}
$title = apply_filters( 'wp_title', $title, $sep, $seplocation );
// Send it out.
if ( $display ) {
echo $title;
} else {
return $title;
}
}
包含钩子:
apply_filters( 'wp_title', string $title, string $sep, string $seplocation )
apply_filters( 'wp_title_parts', string[] $title_array )
使用举例:
<title><?php wp_title(''); ?></title>
-
WordPress函数:esc_attr__ 转义属性及翻译WordPress函数:esc_attr__ 转义属性及翻译
-
WordPress函数:esc_attr_e 属性转义、翻译、显示WordPress函数:esc_attr_e 属性转义、翻译、显示
-
WordPress函数:esc_attr_x 带上下文的转义属性,翻译显示WordPress函数:esc_attr_x 带上下文的转义属性,翻译显示
-
WP Multilang WordPress翻译插件WP Multilang插件的主要功能是提供多语言支持,使用户能够创建多语言版本的网站,满足不同语言用户的需求。
-
WordPress公司官网主题在众多的WordPress企业官网主题中,追格公司推出了多款关于WordPress企业官网主题作品。我们之前已经分享过一些关于追格的企业官网主题,包括收费和免费版本,这些主题都因其独特的设计和出色的功能而深受用户喜爱。
-
WordPress必备:使用wp_get_theme()函数获取当前主题详情在WordPress中,wp_get_theme() 函数用于获取当前启用的主题或指定主题的信息。这个函数返回一个 WP_Theme 对象,该对象包含了主题的详细信息,如主题名称、版本、模板目录、样式表目录等。
暂无评论,抢个沙发...