很多人遇到函数错误,第一件事就是瞎删代码,结果越删越乱。其实你要做的第一件事,是打开Dede的错误提示,让错误自己跳出来,这样你才知道错在哪。
找到网站根目录里的common.inc.php文件,用记事本或者Notepad++打开(别用Word,会加乱码),在最开头加一句:error_reporting(E_ALL); 保存,再刷新你的网站,不管是函数不存在还是参数错,都会直接弹错误,比如“Call to undefined function GetHotArticles()”,这样你就不用瞎猜了。
很多新手改代码喜欢用Word,结果Word会自动加隐藏的格式字符,比如全角空格,导致代码报错。一定要用纯文本工具,比如Windows自带的记事本,或者轻量的Notepad++,绝对不会加乱码。
错误弹出来后,你只要做两步,就能解决90%的问题。
举个例子:错误提示是“Call to undefined function GetHotArticles()”,那你就去网站的include文件夹里搜“function GetHotArticles”,找到对应的文件(比如是function.helper.php),然后在你调用这个函数的模板文件顶部(比如在下面第一行)加一句:require_once(DEDEINC.'/function.helper.php'); 保存,刷新,错误就没了。要是还错,就看文件路径对不对,DEDEINC后面别漏斜杠。

Dede官方的函数名都是固定的,比如获取分类名的函数是GetCatname,你要是写成getcatname,虽然有时候不报错,但有些版本的Dede会认不出来。从网上抄代码的时候,别手滑改字母,直接粘官方的函数名就行,别自作聪明。
就算前面两步都对,有时候还是会错,那肯定是踩了这三个坑。
如果你是自己写的函数,用到了Dede的数据库对象$dsql,那函数开头一定要加:global $dsql; 举个例子:你写了个获取某个分类下文章数的函数,没加这句,调用时就会报错“未定义变量dsql”,这是新手最常踩的坑,绝对要记牢。
Dede有静态缓存,改完代码如果不清,旧的缓存会生效,看起来错误还存在。具体操作:打开Dede后台,点「系统」→「缓存清理」,全选所有选项,点「开始清理」,或者直接去网站根目录的templets/cache文件夹,把里面的所有文件都删了,再刷新,100%有用。
你想加个小功能,别把代码直接写在模板的循环里,要先写到include文件夹里的自定义函数文件,或者新增一个函数文件,再在模板里调用。不然代码会乱执行,导致错误,比如你写的函数在循环里重复调用,就会出问题。
其实DedeCMS函数调用错误没你想的那么难,不用动不动就重装系统,只要按这几步来:先开错误提示找具体原因,再补加载文件或改函数名,避开那三个常见坑,10分钟就能搞定。现在就去试试,先打开common.inc.php加那行错误提示的代码,看看你的函数错误是啥。下次遇到这种情况,别慌,按这方法来就行。上一篇: WordPress收录下降修复怎么做?有哪些实用方法?
下一篇: 【EyouCMS采集去重设置】
易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图