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.

Postarea de comentarii pe acest site reprezinta acceptul dumneavoastra in ceea ce priveste stocarea si procesarea datelor furnizate prin formularul disponibil in acest sens, in conformitate cu politica noastra de confidentialitate.