Artikkelkatalog
Har du også værtWordPressfeilmelding"Uncaught Error: Call to undefined function create_function() in SNIPPET:62"Ga hodepine?"
Dette problemet er faktisk ikke vanskelig å løse. La oss snakke i detalj nå om hvorfor dette problemet oppstår og hvordan du løser det med enkel og effektiv kode.
Hvorfor får jeg create_function-feil?
Litt bakgrunnskunnskap først. I PHP 7.2,create_function()Den har blitt avviklet, og i PHP 8.0 ble denne funksjonen fjernet direkte. Med andre ord, hvis serveren din har blitt oppgradert til PHP 7.2 eller nyere og fortsatt bruker gammel kode, vil dette problemet oppstå.
Men kjernen i problemet er:create_functionDet er et produkt fra en gammel tid. Problemet med det er ikke bare at det ikke lenger støttes, men det introduserer også dårlig ytelse og potensielle sikkerhetsrisikoer. Den nye løsningen er å brukeanonym funksjon(Anonyme funksjoner).
Endre koden: Løs create_function-feilen

La oss nå se hvordan du erstatter den gamle koden. Følgende er den spesifikke kodeendringsplanen:
original kode
//彻底禁止WordPress缩略图
add_filter( 'add_image_size', create_function( '', 'return 1;' ) );
//自定义登录页面的LOGO链接为首页链接
add_filter('login_headerurl', create_function(false,"return get_bloginfo('url');"));
Endret kode
// 彻底禁止 WordPress 缩略图
add_filter( 'add_image_size', function() { return 1; } );
// 自定义登录页面的 LOGO 链接为首页链接
add_filter( 'login_headerurl', function() { return get_bloginfo('url'); } );
Kodeforklaring :
function() { return 1; }er en anonym funksjon som ikke krever noen parametere og returnerer1.get_bloginfo('url')Det er en funksjon som returnerer hjemmesidens adresse. Vi pakker den også inn med en anonym funksjon.
Bedre tilnærming: behandle deaktivering av miniatyrbilder med forsiktighet
Å deaktivere WordPress-miniatyrbilder fullstendig er noen ganger ikke det beste alternativet. Hvis visse temaer eller plugins krever bilder av en bestemt størrelse, kan det føre til uventede problemer å deaktivere dem fullstendig.
Her er en mer fleksibel løsning: deaktiver selektivt unødvendige bildestørrelser via filtre.
Eksempelkode
add_filter( 'intermediate_image_sizes_advanced', function( $sizes ) {
unset( $sizes['thumbnail'] ); // 禁用缩略图
unset( $sizes['medium'] ); // 禁用中等大小
unset( $sizes['large'] ); // 禁用大图
return $sizes;
} );
Denne tilnærmingen løser ikke bare problemet, men opprettholder også kompatibilitet med visse funksjoner.
Endre kode
Legg til den endrede koden på ett av følgende steder:
- av gjeldende emne
functions.phpfil. - Tilpasset funksjon plug-in (anbefalt metode for å unngå kodedekning av temaoppdateringer).
Hva skal jeg gjøre hvis feilen fortsatt oppstår etter å ha endret koden?
Hvis fluent-snippet-storage-plugin-modulen er aktivert og det fortsatt er feil etter endring, kan den være ifluent-snippet-storage/index.phpDet er en cache i den, og feilkoden til error_files må slettes.
skru oppwp-content/fluent-snippet-storage/index.phpFil, rull ned til slutten, og finn kode som ligner på følgende:
'error_files' => array ( '1-e7a7bbe999a4wordpresse5a4b4e983a8e697a0e794a8e4bfa1e681af.php' => 'Uncaught Error: Call to undefined function create_function() in SNIPPET:62', ), );
Kode for å slette disse feilpostene:
'1-e7a7bbe999a4wordpresse5a4b4e983a8e697a0e794a8e4bfa1e681af.php' => 'Uncaught Error: Call to undefined function create_function() in SNIPPET:62',
Bonustips: Sørg for kodekompatibilitet
Før du endrer koden, anbefales det å sikkerhetskopiere nettstedfilene og databasen. Du kan bruke plug-ins (som UpdraftPlus) for raskt å fullføre sikkerhetskopier og unngå å bli overrumplet når noe går galt.
Samtidig, hvis du ikke er kjent med PHP, anbefales det å prøve å modifisere koden i testmiljøet i stedet for å betjene produksjonsmiljøet direkte.
Optimalisering av kode er en konstant kamp
Dette tilsynelatende enkle problemet er faktisk et vanlig problem innen nettstedsutvikling: kompatibilitet mellom gammel kode og nye miljøer . Enten det er å oppgradere en PHP-versjon eller forbedre WordPress-funksjoner, er målet å få nettsteder til å kjøre mer effektivt og sikkert.
For utviklere er det viktig å oppdatere koden i tide og lære nye teknologier. Anonyme funksjoner gjør ikke bare koden mer konsis, men forbedrer også ytelsen og reduserer potensielle sikkerhetsrisikoer. Hver optimering tar nettstedet ditt ett skritt videre.
oppsummering
create_function()Det støttes ikke lenger i PHP 7.2 og nyere, og det anbefales å bruke anonyme funksjoner i stedet.- Etter at du har endret koden, vil nettstedet ditt være mer effektivt og sikkert.
- For bedre kompatibilitet med plugins og temaer kan selektivt deaktivere bildestørrelser være en bedre løsning.
- Optimalisering av kode handler ikke bare om å fikse problemer, men også et skritt mot å forbedre kvaliteten på nettstedet ditt.
Hvis du har støtt på lignende problemer, kan det være lurt å prøve løsningene i denne artikkelen.
Forhåpentligvis vil løsningen på «WordPress Uncaught Error: Call to undefined function create_function()» som er delt på Chen Weiliangs blogg ( https://www.chenweiliang.com/ ) være nyttig for deg.
Del gjerne lenken til denne artikkelen: https://www.chenweiliang.com/cwl-32407.html
