如何在Widget前端使用Get_Results()?

时间:2013-08-30 作者:Lisandro Vaccaro

我正在尝试在我的小部件前端获取\\u results(),这是我当前的代码:

public function widget( $args, $instance ) {
    echo $args[\'before_widget\'];
    if($children = $wpdb->get_results( "SELECT ID FROM $wpdb->posts" ))
         echo "working";
    echo $args[\'after_widget\'];
    }
然而,我得到了错误“致命错误:对非对象调用成员函数get\\u results()”。

我需要访问数据库来创建包含页面子项的菜单。我做错了什么?

2 个回复
最合适的回答,由SO网友:iEmanuele 整理而成

看来你无法访问它。请尝试添加global $wpdb; 您的功能。

UPDATE

仅供参考,inWordPress Codex 您将发现:

WordPress提供了一个全局变量,$wpdb,它是已设置为与WordPress数据库对话的类的实例化。始终使用全局$wpdb变量。(在任何自定义函数中使用$wpdb之前,请记住将其全球化。)

SO网友:Prince Singh

添加global $wpdb 因为您在函数中使用它,函数具有局部作用域。

结束

相关推荐

从现有MySQL安装程序迁移到WordPress

我当前有一个具有以下架构的数据库:表:文章列:ID、标题、作者、内容表:作者列:ID、AuthorName、EmailAddress表:类别列:ID、CategoryName我有兴趣把这个转移到WordPress上。我实际上不需要保留authors或categories表,因为我们正在迁移中修改这些部分。但是,我确实需要保存articles表的某些行(或者所有行,如果更容易的话)。这包括保持作者ID与之链接。我愿意手动查询,以选择要移到新表的行,但我不确定应该在哪里执行此操作。因此,我的问题是:如何以最简