最近把织梦 CMS 更新到V5.7 SP1版本以后,谷歌联盟和百度联盟的广告都不能显示了。这是为什么呢?通过和之前版本的首页源码进行对比,发现更新后的广告代码的双引号前均多了一个反斜杠。 打开 /dede/ad_add.php 文件,搜索如下代码: if($normbody['style']=='code') { $normbody = addslashes($normbody['htmlcode']); } 将这段代码替换为 if($normbody['style']=='code') { $normbody = $normbody['htmlcode']; } addslashes 函数会在指定的预定义字符前添加反斜杠,主要是对一些特殊字符进行转义,修改完成之后新添加的广告就可以正常显示了,而之前的广告仍然无法显示。这是因为反斜杠是在广告代码插入到数据库之前添加的,所以数据库中之前添加的广告代码不会变(反斜杠依然存在)。只要把之前添加的广告都删除,然后重新添加就可以了。当然,你也可以直接在数据库中手工把每个广告的反斜杠都去掉。 |
|