View Full Version : Correzione PHP - Function create_function() is deprecated
omega726
10-03-2021, 18:32
Ciao a tutti
Ho un sito wordpress che nel log mi da questo errore
Function create_function() is deprecated in ecc ecc
Sono andato a intercettare la linea dell'errore e ho capito che il passaggio a PHP 7.3 dalla vecchia 5.4 ha causato l'errore perchè la sintassi della funzione in questione non è più supportata.
L'unica cosa che non ho capito è come deve essere scritta la funzione sostitutiva...
Questa è la sintassi che attualmente genera l'errore:
add_action( 'arexworks_woocommerce_toolbar', create_function("","echo '<div class=\"toolbar-left\">';"),10);
e se non ho capito male deve diventare qualche cosa simile a questo:
add_action( 'arexworks_woocommerce_toolbar', function() {
echo '<div class=\"toolbar-left\">';",10);
};
Solo che ho sicuramente sbagliato qualche cosa dato che se la applico il sito va in crash :ciapet:
Tanto affetto a chi vorrà aiutarmi.
Grazie
echo '<div class=\"toolbar-left\">';",10);
Se noti hai messo un " ma non c'è la parte di chiusura...
metti " davanti a echo
echo "'<div class=\"toolbar-left\">';",10);
Dovrebbe funzionare così.
omega726
11-03-2021, 18:19
echo '<div class=\"toolbar-left\">';",10);
Se noti hai messo un " ma non c'è la parte di chiusura...
metti " davanti a echo
echo "'<div class=\"toolbar-left\">';",10);
Dovrebbe funzionare così.
Grazie per il tuo interessamento, effettivamente mancavano ma ancora c'è qualche errore.
Ora il codice, comprendendo le virgolette mancanti è così:
add_action( 'arexworks_woocommerce_toolbar', function() {
echo "'<div class=\"toolbar-left\">';",10);
};
Però quando lo inserisco ricevo in risposta questo errore:
FATAL ERROR syntax error, unexpected 'toolbar' (T_STRING), expecting ',' or ';' on line number 2
omega726
11-03-2021, 18:29
Trovato, a quanto pare mancava una parentesi tonda di chiusura in riga 3, quindi giusto dovrebbe essere così:
add_action ('arexworks_woocommerce_toolbar', function(){
echo "'<div class=\"toolbar-left\">';",10;
});
omega726
11-03-2021, 19:03
No, alla fine ho dovuto dare un ulteriore ritoccata per far si che funzionasse:
add_action ('arexworks_woocommerce_toolbar', function(){
echo "<div class=\"toolbar-left\">"; 70;
});
Se la lasciavo come prima mi visualizzava il 70 come se fosse un valore semplicemente visualizzato a schermo
Vista la segnalazione per chiudere la discussione si avvisa che qui non siamo sul mercatino e le discussioni tecniche non si chiudono se non per motivi disciplinari ecc se per te la discussione è conclusa può cmq essere utile in futuro a qualcun altro che potrà così intervenire ecc
un forum NON è un help desk, i post sono sono TICKET da chiudere
>bYeZ<
omega726
22-03-2021, 17:36
Vista la segnalazione per chiudere la discussione si avvisa che qui non siamo sul mercatino e le discussioni tecniche non si chiudono se non per motivi disciplinari ecc se per te la discussione è conclusa può cmq essere utile in futuro a qualcun altro che potrà così intervenire ecc
un forum NON è un help desk, i post sono sono TICKET da chiudere
>bYeZ<
Non avevo considerato questo e ora che lo so eviterò di inviare una segnalazione anche se pensavo di fare cosa utile. In passato ho spesso visto altri thread chiusi perchè l'argomento trattato era stato esaurito e in ogni caso i thread chiusi sono sempre rimasti consultabili.
Sono consapevole che un forum non è un help desk ma un forum da che mondo e mondo è sempre stato anche un luogo in cui chiedere supporto alla community circa tematiche che magari non si conoscono troppo bene.
Certo che il tono del messaggio poteva anche essere più cordiale
Le auguro una buona giornata
vBulletin® v3.6.4, Copyright ©2000-2026, Jelsoft Enterprises Ltd.