我已将此主题安装到新的Wordpress网站,现在我在主页上收到此错误:
警告:缺少wpdb :: prepare()的参数2,在第21行的/home/content/63/10275663/html/wp-content/themes/welcome_inn/library/tfuse_framework/functions/core.php中调用在第990行的/home/content/63/10275663/html/wp-includes/wp-db.php中定义
这是我安装的主题:http://themefuse.com/wp-themes-shop/welcome-inn/
我该如何解决这个问题?
答案 0 :(得分:3)
让我们剖析警告信息。有三点需要注意;首先,生成警告的函数(wpdb :: prepare),第二个,发生错误的地方(core.php
)和行引用。我们来看看wpdb类的文档。
这里是WPDB class on the codex。通过此处搜索,您将看到prepare()
方法完全正确 - 准备查询。浏览文档,您将看到一条非常重要的内容。
请注意:从3.5开始,wpdb :: prepare()强制执行至少2 参数。
好的,那是你的错误。 Here's a link with more information.
如果不进一步,我几乎可以保证这个主题没有更新为3.5。我的建议是创建一个子主题,并在警告消息中提到的行中对文件进行调整。通过链接,您会发现prepare()
的工作方式与sprintf
类似,因此更改应该非常微不足道。这是一个例子:
$wpdb->prepare( "SELECT * FROM table WHERE id = $id" );
会变成:
$wpdb->prepare( "SELECT * FROM table WHERE id = %d", $id );
那应该让你整理出来。提醒一下,不要直接编辑插件文件。这可能会破坏您将来升级主题的能力。