Wordpress wpdb未定义变量

时间:2011-02-01 16:44:43

标签: wordpress-plugin wordpress

我正在编写插件并尝试使用以下命令从我的数据库中的自定义表中请求一些数据:

$current_text = $wpdb->get_results("SELECT text FROM addtext ORDER BY id DESC LIMIT 1");

但只是得到错误未定义变量:wpdb

知道为什么这不起作用?我跟着博客跟踪谷歌,没有运气。对WP插件来说还是一个新手,所以可能很明显。

谢谢!

2 个答案:

答案 0 :(得分:31)

我需要在我的函数中使用global $wpdb;

答案 1 :(得分:2)

要添加的一个注意事项:您无法在课程中使用global,当然您必须使用global才能使用$wpdb让您的对象正常工作。

虽然您无法在课程中立即使用global ,但您必须在函数中声明$wpdbglobal 在课堂上,这确实有用。

e.g。这会给您一个错误:

class wpdb_test {
        global $wpdb; // can't use global as a direct 'child' of a class
        public function __construct () {
            ...
        }
}

因为global不能直接在类中使用。同样,简单地引用类中的$wpdb会给您一个错误,因为该对象不知道$wpdb是什么。您必须在类中的函数内声明$wpdbglobal

e.g。这很好用:

class wpdb_test {
        public $variable_name;
        public function __construct () {
            global $wpdb; // safe to use because it's inside a function
            ...
        }
}

...并且因为$wpdb已在函数里面声明global 一个类,您可以使用它。