通过WordPress过滤原理修改WordPress的title处理函数——wp_title
•
历史文章
想要WordPress内置的输出<title>内容的函数为wp_title(),wp_title()函数访问首页显示“站点标题-站点副标题” 如果存在翻页且正方的不是第1页,标题格式“标题-第2页”。 而当使用短横线-作为分隔符时,会将短横线转成字符实体–我们不需要字符实体,因此需要替换字符实体 wp_title()函数显示的内容,在分隔符前后会有空格,也要去掉
<?php
/**
* 想要wp_title()函数实现,访问首页显示“站点标题-站点副标题”
* 如果存在翻页且正方的不是第1页,标题格式“标题-第2页”
* 当使用短横线-作为分隔符时,会将短横线转成字符实体–
* 而我们不需要字符实体,因此需要替换字符实体
* wp_title()函数显示的内容,在分隔符前后会有空格,也要去掉
*/
add_filter('wp_title', 'aiwp_wp_title', 10, 2);
function aiwp_wp_title($title, $sep) {
global $paged, $page;
//如果是feed页,返回默认标题内容
if ( is_feed() ) {
return $title;
}
// 标题中追加站点标题
$title .= get_bloginfo( 'name' );
// 网站首页追加站点副标题
$site_description = get_bloginfo( 'description', 'display' );
if ( $site_description && ( is_home() || is_front_page() ) )
$title = "$title $sep $site_description";
// 标题中显示第几页
if ( $paged >= 2 || $page >= 2 )
$title = "$title $sep " . sprintf( '第%s页', max( $paged, $page ) );
//去除空格,-的字符实体
$search = array('–', ' ');
$replace = array('-', '');
$title = str_replace($search, $replace, $title);
return $title;
}
?>