wordpress标题截取的小技巧

作者:norion时间:2012年5月12日评论次数:3 条

在“两种方法搞定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标题截取的效果图

标签:

上一篇: 两种方法搞定wordpress摘要控制长度

下一篇:jQuery中live()的多次重复绑定

相关文章

评论

  1. 子非我
    十一月 15, 2012 19:23:19 #1

    如果标题为空,这个可以判断出来吗?

    @回复
    • norion
      十一月 16, 2012 23:31:23

      可以啊,标题输出的不久是字符串,判断它的输出是否为空就好了 :mrgreen:

      @回复
      • 子非我
        十一月 21, 2012 19:53:19

        <?php if( get_the_title() ) the_title(); else the_ID(); ?> 😎

        @回复

发表评论

电子邮件地址不会被公开。 必填项已用*标注