WordPress 3.5 与 wpdb::prepare() 报错处理方法

WordPress 3.5 正式公布, 这个版本包括大量更新. 启用了**的呼应式规划默许主题 Twenty Twelve; 改版了 Admin 界面, 愈加简约而且针对挪动设施进行了优化; Media 性能也失去极大的进步, 如今愈加没有理由应用其余图床效劳了.

坏话说完了, 是时分 "然而" 了. 然而... WordPress 秉承一向的作风, 也偷偷改了一些外部办法, 如今 wpdb::prepare() 必需填入第二个参数, 否则报错如下.

Warning: Missing argument 2 for wpdb::prepare(), called in xxx.php on line 75 and defined in /www/wp-includes/wp-db.php on line 990

wpdb::prepare() 的第二个参数

从技术上 WordPress 这样修正 prepare 并没有错, 由于这是用来组装 SQL 语句的办法, 按常理来说必需有带变量的字符串作为**个参数和第二个作为变量的参数, 这是为了防止 SQL 注入所惹起的平安成绩. 然而 WordPress 从 2.2 或许更早版本容许了疏忽第二个参数的写法, 如今忽然令第二个参数成为必填, 必定招致很多主题和插件不能失常应用.

我公布的一切 WordPress 主题和**评论插件 WP-RecentComments 都中枪了. 感激 neoner 提示, 半个月前我更新 WP-RecentComments 处理了这个成绩, 但还没有工夫改主题, 由于主题审核太费事了.

处理方法

在更新主题之前, 我先在这里说说处理方法, 让用户们本人能够先处理一下, 置信还有其余主题或许插件可能也会有相似成绩, 心愿对大家有协助.

    咱们需求先定位呈现成绩的文件和代码. PHP 的代码报错很精准的, 关上报错提示中的文件 (前一个文件, 不是 wp-db.php), 找到代码 $wpdb->prepare.为该办法增加一个空串作为第二个参数, 比方: $wpdb->prepare('xxx'); 改为 $wpdb->prepare('xxx', ''); 即可.
总结

WordPress 也不是**次偷偷修正办法调用形式了, WordPress 2.7 的时分也要求 comments_template 必需输出第二个办法, 然而过后是为了扩大性能, 这次我真的不解. 除了平安思考, WordPress 也可能无意淘汰一些不踊跃更新的主题, 我的主题明明向后兼容做得很好的, 真实太没节操了.

以上就是安达网络工作室关于《WordPress 3.5 与 wpdb::prepare() 报错解决办法》的一些看法。更多内容请查看本栏目更多内容!

本文相关话题: wpdbprepare 报错 WordPress
版权声明:本文为 安达网络工作室 转载文章,如有侵权请联系我们及时删除。
相关文章
WordPress完成搜寻后果包括自定义文章类型内容的办法

本文实例讲述了WordPress完成搜寻后果包括自定义文章类型内容的办法。分享给大家供大家参考。详细剖析如下:...

wordpress后盾中的侧边栏增加菜单或子菜单的办法

复制代码代码如下: //该办法为向曾经存在的菜单中增加子菜单 function add_submenu() { add_submenu_page( ...

WordPress中用于获取文章信息以及分类链接的函数用法

get_post()(获取一篇文章) get_post() 函数能够依据 ID 查问一篇文章的信息,还能前往循环中的以后文章。...

老鹰主机一键装置WordPress建站的办法(图文教程)

老鹰主机,是咱们站长应用较多的美国主机商之一。有些时分,咱们可能习气国际的一些主机商和管制面板的建站...

WordPress博客呈现的相对门路泄露破绽及修复办法

某天用360的破绽检测,总共用了56分钟才检测完。 检测后果如图:破绽修复 破绽文件:(依据报警信息,修正这...

WordPress插件和主题编写时cookie应如何设置

编写WordPress插件和主题的时分,常常需求用到cookie,比方存取用户形态等,我之前编写的插件Ludou Simple ...

需求提交

客服服务

亿鸽在线客服系统