Tutorial: Rezolvarea Erorii Deprecate create_function() în Tema „Minimalia”
Recent m-am apucat să fac update la PHP 8.3 pe toate serverele mele și mi-am dat seama că pe site-urile cu teme de la MyThemeShop, versiuni ce nu mai sunt întreținute de ei aveam erori.
Ca să înțelegeți cum puteți să corectați erorile astea v-am pregătit un tutorial mai jos:
Descrierea Problemei: Întâmpinați o eroare în tema „Minimalia” de la MyThemeShop, care este legată de funcția obsoletă create_function()
.
Pasul 1: Identificați Codul cu create_function()
- În primul rând, localizați codul specific din temă care utilizează
create_function()
. Această funcție este obsoletă în versiunile mai noi ale PHP.
Exemplu de cod obsolet cu create_function()
:
add_filter('login_errors', create_function('$a', "return null;"));
Pasul 2: Înțelegeți Codul
- Înțelegeți ce face codul cu
create_function()
. În acest exemplu, este folosit pentru filtrarea erorilor de autentificare.
Pasul 3: Înlocuiți create_function()
cu o Funcție Anonimă
- Pentru a rezolva eroarea, înlocuiți utilizarea
create_function()
cu o funcție anonimă.
Cod Actualizat cu Funcție Anonimă (După Reparare):
add_filter('login_errors', function($a) {
return null;
});
Pasul 4: Salvați Fișierul
- După efectuarea modificărilor necesare, salvați fișierul în care ați găsit utilizarea
create_function()
.
Pasul 5: Verificați Alte Instanțe
- Verificați dacă există și alte instanțe de
create_function()
în tema dvs. și actualizați-le urmând aceeași abordare.
Exemplu de Urmaș al Erorii:
2023/12/15 11:43:08 [error] 3889771#0: *22927745 FastCGI a trimis în stderr: „PHP message: PHP Warning: define(): Argumentul nr. 3 ($case_insensitive) este ignorat deoarece declararea constantelor sensibile la majuscule/minusculă nu mai este acceptată în /www/xxxx.eu/wp-content/plugins/mts-wp-time-to-read/mts-time-to-read.php la linia 14; PHP message: PHP Warning: define(): Argumentul nr. 3 ($case_insensitive) este ignorat deoarece declararea constantelor sensibile la majuscule/minusculă nu mai este acceptată în /www/xxxx.eu/wp-content/plugins/mts-wp-time-to-read/mts-time-to-read.php la linia 16; PHP message: PHP Fatal error: Apel către funcția nedefinită create_function() în /www/xxxx.eu/wp-content/themes/minimalia/functions.php:309
Pasul 6: Testați Site-ul
- În final, testați site-ul pentru a vă asigura că eroarea a fost rezolvată. Verificați dacă tema funcționează așa cum era de așteptat, fără probleme.
Prin urmarea acestor pași, puteți rezolva eroarea cauzată de codul obsolet în create_function()
în tema „Minimalia” și vă asigurați că site-ul vostru WordPress continuă să funcționeze corect cu versiunile mai noi ale PHP.