wordpress标题截取的小技巧

作者:沙师弟时间:2013-08-16
在“两种方法搞定wordpress摘要控制长度”一文中介绍了用php的mb_substr()函数截取摘要,我利用mb_substr()做标题的截取,但是我遇到新的问题,我是这样写的:
echo '</p><p>'. mb_substr(get_the_title(),0,18,"utf8")."..." .'</p></li>';
这样就容易造成不管标题多长,都会在标题后面加上省略号,问题还是挺大条的,那么既然如此就来做个改造,查阅了php的函数,strlen()函数帮我解决了问题,利用strlen()得到get_the_title()字符串长度,然后进行判断,我在functions.php加入这样的代码:
//到达一定量自动截取
function get_short_title($mun = 18){
	$text = get_the_title(); 
	$text_no = mb_strlen ( $text ,"utf8" );
	if ( $text_no > $mun){
		echo mb_substr($text,0,$mun,"utf8") . "...";
	}else{
		the_title();
	}
}
然后在想要截取标题的位置,添加get_short_title(),目的就达到,详细代码如下:
echo '<li><a href="' . get_permalink() . '" title="' .get_the_title(). '" class="fn-left">';
get_short_title(18);
echo '</a><data class="fn-right">'. get_the_time('n月j日') .'</data></li>';
当然,其他地方这样调用也可以:
<?php get_short_title(); ?>
wordpress标题截取的效果图