最近更新的wordpress的 最低支持 php版本更新到了php5.6,为了更新wordpress就把服务器的php版本更新到了7.2,结果就无法显视页面了。
出现的问题
网站打开提示The site is experiencing technical difficulties.
问题分析
确认是主题的问题,因为后台可以正常使用,更换主题后前台也可正常访问 。
仔细看会发现有部分代码已经执行,因为hanlei`blog是网站的标题内容。这样问题就好处理了,查看网页源码,找到代码停止的地方,就是出错的地方。
在主题源文件中找到代码对应的位置,我的这个是在header.php内。
很明显出错的位置就在输出菜单的这一行,经过查询发现ereg_replace函数在PHP5.3后就停用了,换成了preg_replace。
ereg_replace("<div[^>]*><ul[^>]*>", "", wp_nav_menu(array('theme_location' => 'nav', 'echo' => false)) )
//更换为
preg_replace("{<div[^>]*><ul[^>]*>}", "", wp_nav_menu(array('theme_location' => 'nav', 'echo' => false)) )
保存在服务器后,一切又恢复正常,原来的主题又可以用了。
转载请注明:HANLEI'BLOG » 更新wordpress后主题出错的处理方法