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.