wordpress标题优化wp_title()

wp_title()很好用,可自动识别目前页面是文章、分类还是首页索引。

<title><?php wp_title('-', true, 'right'); if($paged>1){echo '?'.$paged.'? - ';} echo bloginfo('name'); if(is_home()){echo ' - ',bloginfo('description');} ?></title>

但自定义不够,可以使用类似如下代码来替换……

<title>
<?php if( is_home() ){		?><?php bloginfo('name'); ?> - <?php bloginfo('description'); ?><?php } ?>
<?php if( is_search() ){	?>?????<?php echo $s; ?>? - <?php bloginfo('name'); ?><?php } ?>
<?php if( is_404() ){		?>404?? - <?php bloginfo('name'); ?><?php } ?>
<?php if( is_singular() ){	?><?php echo trim(wp_title('',0)); ?> - <?php bloginfo('name'); ?><?php } ?>
<?php if( is_category() ){	?><?php single_cat_title(); ?> - <?php bloginfo('name'); ?><?php } ?>
<?php if( is_tag() ){		?>???<?php single_tag_title(); ?>?????? - <?php bloginfo('name'); ?><?php } ?>
<?php if( is_month() ){		?><?php the_time('F, Y'); ?> - <?php bloginfo('name'); ?><?php } ?>
<?php if( is_day() ){		?><?php the_time('F j, Y'); ?> - <?php bloginfo('name'); ?><?php } ?>
<?php
if( is_author() ){
	if(isset($_GET['author_name'])) :
		$curauth = get_userdatabylogin($author_name);
	else :
		$curauth = get_userdata(intval($author));
	endif;
}
if( is_author() ){?><?php echo $curauth->nickname; ?> ??? | <?php bloginfo('name'); ?><?php }?>
</title>

如发生中出现空格现象,可在这不是 functions.php 中加入以下代码:

// Removes the white spaces from wp_title
function af_titledespacer($title) {
	return trim($title);
}
add_filter('wp_title', 'af_titledespacer');