Nessun accesso alle variabili globali?
-
05-11-2019 - |
Domanda
In main.js
, Ho uno script, che sta inviando una richiesta Ajax a script.php
.
$.ajax({
type: "POST",
url: "wp-content/themes/roots/script.php",
data: registerdata,
success: function(result)
{
alert(result);
}
});
return false;
script.php
Convalida alcuni dati e scrivi i dati nel database. Per questo, uso il $wpdb
Oggetto di WordPress ($wpdb->insert())
. Normalmente, WordPress fornisce una variabile globale, $wpdb
, che è un'istanza della classe già impostata per parlare con il database WordPress. Ma non nel mio caso. Ricevo il seguente errore
Errore fatale: chiama a un insert funzione membro () su un non oggetto
Se lo faccio
if(class_exists('wpdb') == false){
echo 'class wpdb doesnt exist';
}
else{
echo 'class wpdb exists';
}
in script.php
, mi ha detto tutto il tempo "Classe wpdb non esiste". Se faccio lo stesso in function.php
, Class WPDB esiste. Ma perché? Script.php
e function.php
sono nella stessa directory. E $wpdb
viene caricato automatico e impostato su Global da WordPress. Quindi ho sempre accesso, non importa in quale directory sono, giusto?!
realpath(ABSPATH . WPINC . '/wp-db.php')
.... anche non funziona. Le costanti non sono definite in script.php
, anche. Dov'è colpa mia? register_globals = on
in php.ini
. non ha cambiato nulla. :/
Nessuna soluzione corretta