wordpress升级到3.5版出现的wpdb::prepare()报错修复

本文也是引用的本站主题Blocks2的2.2.0版本的作者MG12的一篇帮助文档:《WordPress 3.5 与 wpdb::prepare() 报错》

本站主题为Blocks2,与其他主题不同的是,你需要找到wpdb::prepare()这个地方,其他的主题都在底部footer.php中.而Blocks2的主题中只有在header.php才能找到。

以下是升级到wordpress3.5版的报错内容

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

以下是解决方法:

1、找到代码 $wpdb->prepare

2、为该方法添加一个空串作为第二个参数, 比如: $wpdb->prepare('xxx'); 改为 $wpdb->prepare('xxx', ''); 即可.

正确修改代码如下:

原代码:

$post_datetimes = $wpdb->get_row($wpdb->prepare("SELECT YEAR(min(post_date_gmt)) AS firstyear, YEAR(max(post_date_gmt)) AS lastyear FROM $wpdb->posts WHERE post_date_gmt > 1970"));

修改后的代码:

$post_datetimes = $wpdb->get_row($wpdb->prepare("SELECT YEAR(min(post_date_gmt)) AS firstyear, YEAR(max(post_date_gmt)) AS lastyear FROM $wpdb->posts WHERE post_date_gmt > 1970", ""));
未注明即为原创文章,转载请注明: 转载自Sword Blogwordpress升级到3.5版出现的wpdb::prepare()报错修复

《wordpress升级到3.5版出现的wpdb::prepare()报错修复》有一个想法

  1. 本站主题为Blocks2,与其他主题不同的是,你需要找到wpdb::prepare()这个地方,其他的主题都在底部footer.php中.而Blocks2的主题中只有在header.php才能找到。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

注意: 评论者允许使用'@user空格'的方式将自己的评论通知另外评论者。例如, ABC是本文的评论者之一,则使用'@ABC '(不包括单引号)将会自动将您的评论发送给ABC。使用'@all ',将会将评论发送给之前所有其它评论者。请务必注意user必须和评论者名相匹配(大小写一致)。