陌小雨最近重新在本地安装了XAMPP,php 版本是比较高级的,重新启用 yusi 或者一些比较老的主题的时候,预览首页的时候会弹出错误:
Fatal error
Uncaught Error: Call to undefined function ereg_replace() in C:\xampp\htdocs\test01\wp-content\themes\yusi1.0\header.php:46 Stack trace: #0 C:\xampp\htdocs\test01\wp-includes\template.php(684): require_once() #1 C:\xampp\htdocs\test01\wp-includes\template.php(643): load_template('C:\\xampp\\htdocs...', true) #2 C:\xampp\htdocs\test01\wp-includes\general-template.php(45): locate_template(Array, true) #3 C:\xampp\htdocs\test01\wp-content\themes\yusi1.0\blog.php(1): get_header() #4 C:\xampp\htdocs\test01\wp-content\themes\yusi1.0\index.php(3): include('C:\\xampp\\htdocs...') #5 C:\xampp\htdocs\test01\wp-includes\template-loader.php(74): include('C:\\xampp\\htdocs...') #6 C:\xampp\htdocs\test01\wp-blog-header.php(19): require_once('C:\\xampp\\htdocs...') #7 C:\xampp\htdocs\test01\index.php(17): require('C:\\xampp\\htdocs...') #8 {main} thrown in C:\xampp\htdocs\test01\wp-content\themes\yusi1.0\header.php on line 46
打开源码发现是主题使用了 ereg_replace 这个函数
<?php echo str_replace("</ul></div>", "", ereg_replace("<div[^>]*><ul[^>]*>", "", wp_nav_menu(array('theme_location' => 'nav', 'echo' => false)) )); ?>
然而在 php5.3 版本及以后版本中,为了让编程更简洁,早已废弃了 ereg_replace 正则函数,所以会提示错误,这个函数经常使用,下面我有两个解决的方法:
1.把 php 版本更换至 php5.0,继续使用早期版本的 php 环境,但这种方法未免有点不客观,假如你是购买的虚拟主机,你就没有办法更换 php 版本
2.修改 php 环境的配置文件,也就是修改 php.ini 文件:
找到 ;extension=php_mbstring.dll 更改为:extension=php_mbstring.dll
找到 ;mbstring.func_overload = 0 修改为:mbstring.func_overload = 7
这样也可以继续使用,但修改 php.ini 文件同第一种方法一样有限制,并不是所有的 php 运行环境你都有权修改
3.使用最新的正则函数 preg_replace,在正则替换时稍有不同,
如:ereg_replace("[/\]{1,}", '/', dirname(__FILE__) )
修改后应该为: preg_replace("/[/\]{1,}/", '/', dirname(__FILE__) )
在 phpv5.3 中,php 推荐使用第 3 种方法,因为 preg_replace 要比 ereg_replace 执行的效率快很多
yusi 主题包括以这个主题为原型修改的其他主题,只要修改 ereg_replace 这个函数调用的地方即可正常使用了:
<?php echo str_replace("</ul></div>", "", preg_replace("/<div[^>]*><ul[^>]*>/", "", wp_nav_menu(array('theme_location' => 'nav', 'echo' => false)) )); ?>
你可能对这些文章感兴趣:
- WordPress插件推荐:Hyper Cache
- 关于百度联盟广告投放,90%新站长都会忽略的细节
- WordPress后台登陆提示错误:Cookies因预料之外的输出被阻止的解决办法
- 如何删除WordPress所有文章
- 总结个人博客赚钱方法渠道及常见不靠谱网赚思维
- 《 牡丹亭》读后感
- 陌小雨博客影音在线栏目新增在线点播功能
- WordPress加速:只显示上传到本文章中的图片
- 最新WordPress数据库表功能及各表结构整理
- WordPress文章页添加展开阅读全文功能
- xiu主题集成百度站内搜索,可添加其他广告联盟广告位
- 18 个提升编程技能的好网站
- 教你看懂js文件中的正则表达式(一)
- WordPress插件推荐:News announcement scroll