Ich schreibe ein Plugin und versuche, einige Daten aus einer benutzerdefinierten Tabelle in meiner Datenbank anzufordern, indem ich Folgendes verwende:
$current_text = $wpdb->get_results("SELECT text FROM addtext ORDER BY id DESC LIMIT 1");
bekomme aber nur den Fehler Undefinierte Variable: wpdb
Irgendeine Idee, warum das nicht funktioniert? Ich habe die Dokumentation verfolgt und Google durchforstet, ohne Glück. Noch ziemlich neu für WP-Plugins, also wahrscheinlich etwas Offensichtliches.
Vielen Dank!
musste ich verwenden global $wpdb;
in meiner Funktion.
Eine Anmerkung zum Hinzufügen: Sie können nicht verwenden global
innerhalb einer Klasse, und natürlich müssen Sie verwenden global
um Ihre Objekte zum Laufen zu bringen $wpdb
.
Während Sie nicht verwenden können global
sofort innerhalb einer Klasse müssen Sie deklarieren $wpdb
wie global
innerhalb einer Funktion innerhalb der Klasse, und das funktioniert.
zB Dies gibt Ihnen einen Fehler:
class wpdb_test {
global $wpdb; // can't use global as a direct 'child' of a class
public function __construct () {
...
}
}
Da global
kann nicht direkt innerhalb einer Klasse verwendet werden. Ebenso einfach referenzieren $wpdb
innerhalb der Klasse Auch gibt Ihnen einen Fehler, weil das Objekt nicht weiß, was $wpdb
ist. Du musst deklarieren $wpdb
wie global
aus einer Funktion, die sich in Ihrer Klasse befindet.
zB Das funktioniert ganz gut:
class wpdb_test {
public $variable_name;
public function __construct () {
global $wpdb; // safe to use because it's inside a function
...
}
}
…und weil $wpdb
wurde erklärt global
innerhalb einer Funktion Innerhalb eine Klasse, die Sie verwenden können.