为什么我在WordPress网站上安装新主题后出现此错误?

时间:2013-01-06 07:19:15

标签: wordpress wordpress-theming

我已将此主题安装到新的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/

我该如何解决这个问题?

1 个答案:

答案 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 );

那应该让你整理出来。提醒一下,不要直接编辑插件文件。这可能会破坏您将来升级主题的能力。