By烟花易冷

当WordPress内置函数mb_strimwidth()不能用时,自定义解决方法
2016-04-23

最近把我的主题上传到了daocloud,发现wordpress容器里面的php居然不能用mb_strimwidth()函数,这个函数通常用来截取文章内容作为梗概显示在文章首页,难道就这么容易就放弃吗?亦或是重写主题核心部分呢?既然主机不支持,那我们就自己写一个自己主题专用的mb_strimwidth()吧!
打开你的主题根目录下的function.php文件,加上我们自己写的mb_strimwidth算法如下:

function mb_strimwidth($str ,$start , $width ,$trimmarker ){
$output = preg_replace('/^(?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$start.'}((?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$width.'}).*/s','\1',$str);
return $output.$trimmarker;
}

然后重写刷新一下博客首页,是不是原来提示不行的主题也完美运行了呢~下面顺路晒晒daocloud的 volume 编辑器,给予kodexplorer,在平板上用着还挺舒服的QwQ

屏幕截图(161)