小窝改版

20130321201944

之前博客用了大半年的Mossight,是一个非常不错的主题,但是因为看的太多了,所以嘞!大家也都知道,一直想再换一个风格,昨天看到这个感觉还不错,“换”就这么一个字。不过这是个国外的主题,所以还是很多不符合实际的需求,花费了不少时间慢慢调整,才有了现在的显示效果,还有其他很多还要调整。

首先就是由于这个主题文章显示的方式,为了显示的合理和排版好看,标题和内容都是截取部分显示的,而主题默认在标题截取时采用的是substr()函数,而在中文截取时就出现了乱码,所以查看后全部改为了mb_strimwidth()函数。

然后就是显示文章内容摘要时,内容输出就只有“…”,而没有没有任何其他内容,后来查看发现functions.php中truncate_post()函数,这个就是内容截取的函数。


function truncate_post($amount,$quote_after=false) {
    $truncate = get_the_content();
    $truncate = apply_filters('the_content', $truncate);
    $truncate = preg_replace('@<script[^>]*?>.*?@si', '', $truncate);
    $truncate = preg_replace('@<style[^>]*?>.*?@si', '', $truncate);
    $truncate = strip_tags($truncate);
    $truncate = substr($truncate, 0, strrpos(substr($truncate, 0, $amount), ' '));
    echo $truncate;
    echo " ... ";
    if ($quote_after) echo('');
}

问题就是出在下面这句话上面,


$truncate = substr($truncate, 0, strrpos(substr($truncate, 0, $amount), ' '));

这句代码的意思是文章字数如果大于$amount,则截取从开头到$amount之间的最后一个空格之间的文字作为文章摘要。注意这里截取的是空格,英语里不可能没有空格,但是中文段落里面很少有空格,所以就只能输出“…”。

同时,中文和英文所占字符也不相同,一个中国字相当于2个字符,在截取时实际字数就可能不同,也造成了文章排版不好看。最后在wordpress大学网站上看到了如下截取字符的方法,暂时解决了这一问题。


function substrs($sourcestr='',$i=0,$cutlength=80,$endstr='') {
    $str_length=strlen($sourcestr);
    while (($n<$cutlength) and ($i<=$str_length)) {
        $temp_str=substr($sourcestr,$i,1);
        $ascnum=Ord($temp_str); 
        if ($ascnum>=224) {
            $returnstr=$returnstr.substr($sourcestr,$i,3);
            $i=$i+3;
            $n++;
        } elseif ($ascnum>=192) {
            $returnstr=$returnstr.substr($sourcestr,$i,2);
            $i=$i+2;
            $n++;
        } else {
            $returnstr=$returnstr.substr($sourcestr,$i,1);
            $i=$i+1;
            $n=$n+0.5;
        }
    }

    if($i<$str_length) $returnstr.=$endstr;
    return $returnstr;
}

最后还修改了文章中的字体,由于原主题引入了太多了Google web fonts,而国内google服务你懂得,所以全部改为本地的了。同时也在主题中加入了fancybox查看图片,footer部分显示最新留言。剩下还有诸如文章分页、留言等等一大堆要修改的,慢慢来吧!

  • mm
    / reply Mar 21, 2013

    说你怎么一直安安静静不理我,原来在弄这个

    • mm
      da07ng / reply Mar 21, 2013
      @喵 哈哈!这都被你发现了!有没有觉得跟你的很像了。
      • mm
        / reply Mar 21, 2013
        @da07ng 感觉比我的凌乱诶。我的没有这么多东西
  • mm
    啄木游弋 / reply Mar 21, 2013

    似乎是小两口在温馨的问答,不知道我插一脚进来合不合适。这个主题一打眼看上去,就有一种西式主题的风格。

    • mm
      da07ng / reply Mar 22, 2013
      @啄木游弋 嘿嘿!没事,温馨的东西可不在这里哦! 嗯哼,这么明显的西方风格啊?呵呵,我就是看着感觉还很不错的,所以就换的啦!体验下不同的风格。
  • mm
    曼诺比菲 / reply Mar 22, 2013

    这个模板很好看,我喜欢

  • mm
    醉风云博客 / reply Mar 23, 2013

    幻灯片只是个图片,没有链接啊

  • mm
    啄木游弋 / reply Mar 24, 2013

    似乎您的邮件评论提醒功能没设置好吧?上次的留言我没收到邮件

    • mm
      da07ng / reply Mar 25, 2013
      @啄木游弋 恩,这主题默认没有邮件提醒,现在自己添加了,还有很多东西要折腾的。
  • mm
    常阳时光 / reply Mar 25, 2013

    哟,换新样了,也不错啊……

Leave a reply