Una nota para agregar: No se puede utilizar global
dentro de una clase, y por supuesto, usted tiene que utilizar global
con el fin de obtener sus objetos a trabajar usando $wpdb
.
Aunque no se puede utilizar de inmediato global
dentro de una clase, debe declarar como $wpdb
global
dentro de una función dentro de la clase, y esto funciona.
p. Ej. Esto le da un error:
class wpdb_test {
global $wpdb; // can't use global as a direct 'child' of a class
public function __construct() {
...
}
}
Debido global
no puede ser utilizado directamente dentro de una clase. Del mismo modo, simplemente haciendo referencia a $wpdb
dentro de la clase también le da un error porque el objeto no sabe qué es $wpdb
. Debe declarar $wpdb
como global
desde dentro de una función que está dentro de su clase.
p. Ej. Esto funciona muy bien:
class wpdb_test {
public $variable_name;
public function __construct() {
global $wpdb; // safe to use because it's inside a function
...
}
}
... y porque $wpdb
ha sido declarado global
dentro de una función dentro una clase que son capaces de usarlo.
2.5 años después, y tu respuesta me ayudó. ¡Gracias! – Branndon
3 años después, y tu respuesta también me ayudó. ¡Gracias! –
4 años después, ¡y tu respuesta lo hizo de nuevo! ¡Gracias! – user1758777