文章摘要显示出错 2012-02-15 wordpress 7 条评论 7114 次阅读 这两天把博客给恢复了,可是主页一直是有空白的,在本地试的时候没有问题,以为是主机的网络问题,一直没在意。后来发现网通访问我的博客速度也快了,但是就是主页卡在那里无法显示,悲催啊。看了下已经加载的页面,感觉是主题中的index.php那点的问题。因为加载到了文章摘要那里就无法显示了。尝试的删去显示摘要的代码后,主页正常了。可是摘要又无法显示。查了一下用的那些代码,那几个函数strip_tags,str_replace,mb_strimwidth,mb_strlen。发现需要开启mb_string 模块,mb_strimwidth函数才能使用。真悲催,原来是主机缺少了这个,真是用原生的kloxo问题不少呀,还是需要折腾。 操作方法: SSH登陆,运行`yum -y install php-mbstring`,开始安装,结束之后reboot重启。 中间查询了一下php.ini,发现有好多,目前还不知道是怎么回事儿。大体位置如下: ``` /home/httpd/域名名称/php.ini /usr/lib/kloxophp/zend/etc/php.ini /usr/local/lxlabs/ext/php/etc/php.ini /usr/local/lxlabs/kloxo/httpdocs/htmllib/filecore/php.ini /usr/local/lxlabs/kloxo/httpdocs/htmllib/filecore/lxetc/misc/php.ini ``` 查询方法 `find / -name php.ini` 对于不是自己架设的童鞋,在网上找到一种折中方法,不知道管用不,转载过来。 《没有开启 mb_string 也能使用 mb_strimwidth() 函数》 并不是所有主机都默认支持mb_strimwidth()这个函数的,前提是要开启 mb_string 这个模块。那如果主机没有开启 mb_string 就不能使用 mb_strimwidth() 函数了吗?有没有变通的办法呢?答案当然是 YES,于是也就有了本文。 先在 WordPress 主题的 functions.php 文件中添加如下代码: ```php function dm_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; } ``` 接下来在需要的地方调用如下: ```php post_content),0,200,'......[阅读全文]');?> ``` 用过 mb_strimwidth() 函数的朋友已经发现了,这个新建的函数和 mb_strimwidth() 的用法是一模一样的,如果你的主机不支持 mb_string 扩展库,那可以试试本文的方法哟。 标签: wordpress, error, 摘要, 显示 本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
:ymy:
博主很专业呀,我都看不懂,一般我都是在主机上直接安装,在本地根本不懂怎么操作,
果然够折腾。
呵呵,现在懒了,不想再折腾了
现在都害怕折腾了
恩,是的,呵呵
我的主题有次使用了某个插件也会摘要显示有问题。
恩,折腾的哈,我这个是主机支持问题。