WordPress – dopo l’aggiornamento di PHP a 8.3 da 7.4 ricevo un fatal error

Wordpress – Dopo L’aggiornamento Di Php A 8.3 Da 7.4 Ricevo Un Fatal Error

Stavo tranquillamente cercando di aggiornare il PHP in un sito, sperando che dopo aver aggiornato temi e plugin continuasse a funzionare tutto.
Purtroppo mi illudevo perchè ho ricevuto un bell’errore:
PHP Fatal error: Uncaught TypeError: call_user_func_array(): Argument #1 ($callback) must be a valid callback, function “return_false” not found or invalid function name in /wp-includes/class-wp-hook.php:324
E quindi via di debug!

📌 Cosa significa quell’errore:

call_user_func_array(): Argument #1 ($callback) must be a valid callback, function “return_false”

In pratica da qualche parte nel codice (di Elementor [dico Elementor perchè nel mio caso c’era Elementor], un tema, o un altro plugin) c’è una chiamata tipo:

add_filter( 'some_filter', 'return_false' );

Ma la funzione return_false non esiste. Probabilmente prima veniva dichiarata da qualche plugin o dal tema, oppure è un errore di battitura / incompatibilità.

📌 In WordPress normalmente si usa __return_false

In realtà WordPress ha una funzione built-in per questo scopo:

__return_false()

Quindi la riga corretta dovrebbe essere:

add_filter( 'some_filter', '__return_false' );

✅ Come risolvere:

Cerca nel codice (plugin personalizzati, functions.php del tema child, eventuali mu-plugins) la stringa return_false.

Se la trovi in una funzione add_filter o add_action, sostituiscila con __return_false (con due underscore iniziali).

Ad esempio:

add_filter( 'elementor_pro/some_setting', 'return_false' );

Diventa:

add_filter( 'elementor_pro/some_setting', '__return_false' );

Se proprio non la trovi, puoi anche dichiarare tu la funzione return_false come workaround temporaneo:

 if ( ! function_exists( 'return_false' ) ) {
   function return_false() {
      return false;
   }
 }

Ma sarebbe meglio sistemarla dove viene chiamata.

📌 Perché è successo dopo l’update di Elementor?

Probabilmente prima Elementor (o un altro plugin) dichiarava return_false o usava un alias, e nel nuovo aggiornamento hanno ripulito quel codice.

📝 Conclusione:

✅ Cerca e sostituisci return_false → __return_false
✅ Oppure dichiara la funzione se serve come patch

Non è sempre facile correggere degli errori post aggiornamento del tema di WordPress, dei plugin, del core o di PHP, quindi se ritieni di aver bisogno di una mano contattami attraverso il modulo qui sotto.

Hai un problema con il web?

Il tuo sito internet non vuole funzionare?

Vuoi rinnovarlo o sistemarlo?

Hai un’idea di integrazione ma non sai se è possibile realizzarla o meno?

    Accetto la Privacy Policy
    Autorizzo al trattamento dei miei dati personali, per ricevere le informazioni richieste attraverso questo modulo di contatto. I dati da te inseriti attraverso questo modulo verranno utilizzati solo per essere da me ricontattato.

    Recensioni

    Scrivimi una recensione

    Questo QR Code ti permette di lasciarmi una recensione in maniera facile e veloce.

    Altrimenti qui sotto ti lascio un bottone, con il quale puoi lasciare la recensione direttamente su Google My Business.

    Lascia una recensione su Google