Errore $wpdb: Call to a member function get_results() on a non-object - Soluzione
4 nov 2014, 17:11:16
Visualizzazioni: 15.3K
Voti: 2
Ricevo questo errore "Call to a member function get_results() on a non-object in" dal seguente codice:
require_once($_SERVER['DOCUMENT_ROOT'] . $folder . '/wp-config.php');
require_once($_SERVER['DOCUMENT_ROOT'] . $folder . '/wp-load.php');
if (!$wpdb) {
$wpdb = new wpdb( DB_USER, DB_PASSWORD, DB_NAME, DB_HOST);
} else {
global $wpdb;
}
function vendorDatails( $param)
{
if ((substr ($param, 0, 0)) == '#')
{
substr($param, 1);
}
$order_ids = $wpdb->get_results(
"
SELECT DISTINCT vendor_id
FROM $wpdb->lqrhxf_pv_commission
WHERE order_id = %d
",
$param
);
foreach ( $order_ids as $order_id )
{
echo $order_id->vendor_id;
}
}
I parametri del database vengono caricati correttamente ma ricevo l'errore sulla riga sopra quando uso la variabile $wpdb:
$order_ids = $wpdb->get_results(
Tutte le risposte alla domanda
2
0
Questo è un problema di scope delle variabili in PHP, non c'è alcun $wpdb
definito nella tua funzione.
Aggiungi
global $wpdb;
prima di provare a utilizzare l'oggetto $wpdb
.

Milo
78.9K
4 nov 2014 17:24:59
1
Quando vuoi utilizzare le funzionalità di WordPress al di fuori di WordPress puoi usare:
include_once($_SERVER['DOCUMENT_ROOT'].'/wp-load.php');
Dopodiché potrai utilizzare le funzionalità di WordPress. Verifica questo. Se vuoi accedere solo alle funzioni del database allora:
require_once( $_SERVER['DOCUMENT_ROOT'] . '/wp-config.php' );
require_once( $_SERVER['DOCUMENT_ROOT'] . '/wp-includes/wp-db.php' );
if (!$wpdb) {
$wpdb = new wpdb( DB_USER, DB_PASSWORD, DB_NAME, DB_HOST);
} else {
global $wpdb;
}

Yogesh Bangar
101
27 giu 2019 14:53:17
Domande correlate
2
risposte
2
risposte