我用的空间php是不支持mb_strimwidth的,尽管尝试了几种办法后还是没改成php.ini。国外空间就是这样很奇怪,语言不通跟客服也说不清,没办法博客是必须要用到mb_strimwidth这个函数的,因为这个函数可以截断php字符,摘取一定数量的字符作为文章摘要显示在博客首页,在谷歌了一阵后终于找到了一个完美的解决方案。

本来没有mb_strimwidth函数打开wordpress首页时是肯定会出现
Fatal error: Call to undefined function: mb_strimwidth() 错误在index.php第17行
这样的提示的,然后打开正在使用的wordpress模板的index.php后第17行会发现如下一段
<?php echo dm_strimwidth(strip_tags(apply_filters('the_content', $post->post_content)), 0, 290,"..."); ?>
将其更改为:
<?php echo ok_strimwidth(strip_tags(apply_filters('the_content', $post->post_content)), 0, 290,"..."); ?>
那么 ok_strimwidth这个函数在这里是调用了,可是存在哪呢?别着急,打开wordpress的 wp-includes目录会有一个functions.php,在里面增加如下代码
functionok_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; 
}

这样就定义了 ok_strimwidth函数,现在打开你的首页看看是不是正常了?

浏览:43 次标签:wordpress / 函数阅读全文