Mercoledì
30
Agosto 2023
Come risolvere l’errore Call to undefined function is_user_logged_in() in WordPress? Se stai sviluppando il tuo plugin o tema per il CMS più utilizzato al mondo la gestione degli utenti è fondamentale.
Durante l’editing sarà successo anche a te di incorrere nell’errore della funzione is_user_logged_in(), senza riuscire a venirne a capo. La soluzione è molto semplice e risiede nella struttura gerarchica di WordPress, ovvero nel momento in cui chiama le funzioni.
Non è possibile infatti chiamare questa funzione prima che WordPress inizzializzi gli utenti, riscontrando l’errore classico della funzione non definita semplicemente perché non è ancora stata dichiarata.
L’errore dovrebbe essere simile a questo riportato di seguito:
Prima di procedere verifica sempre che non si tratti di un problema di sintassi o errori di battitura siccome sono molto frequenti.
Escluso l’errore di battitura, la soluzione potrebbe essere questa: la funzione non è definita perché è stata chiamata prima che WordPress inizializzi gli utenti, ovvero prima di definire questa funzione.
L’errore Call to undefined function is_user_logged_in() si risolve con la funzione add_action() predefinita di WordPress, in modo da chiamarla nel modo corretto.
Ecco il codice php:
add_action('init', function() {
if (is_user_logged_in()) {
// code
}
});
Se vuoi dare un nome alla tua funzione allora basta definirla e utilizzare successivamente il metodo add_action().
function my-function() {
if(is_user_logged_in()) {
// code
}
}
add_action(‘init’, ‘my-function’);
Al posto del parametro “init” (che identifica il caricamento del frontend) puoi utilizzarne anche altri, ad esempio after_setup_theme o wp_head.
Scrivi un commento