WordPress ufanget fejl: Kald til udefineret funktion create_function() løsning

Har du også værethood.discountfejlmeddelelse"Uncaught Error: Call to undefined function create_function() in SNIPPET:62"Givet hovedpine?"

Dette problem er faktisk ikke svært at løse. Lad os nu tale i detaljer om, hvorfor dette problem opstår, og hvordan man løser det med enkel og effektiv kode.

Hvorfor får jeg create_function fejl?

Først lidt baggrundsviden. I PHP 7.2,create_function()Den er blevet forældet, og i PHP 8.0 blev denne funktion fjernet direkte. Med andre ord, hvis din server er blevet opgraderet til PHP 7.2 eller nyere og stadig bruger gammel kode, vil dette problem opstå.

Men problemets kerne er:create_functionDet er et produkt af en gammel æra. Problemet med det er ikke kun, at det ikke længere understøttes, men det introducerer også dårlig ydeevne og potentielle sikkerhedsrisici. Den nye løsning er at brugeanonym funktion(Anonyme funktioner).

Rediger koden: Løs create_function fejlen

WordPress ufanget fejl: Kald til udefineret funktion create_function() løsning

Lad os nu se, hvordan du erstatter den gamle kode. Følgende er den specifikke kodeændringsplan:

original kode

//彻底禁止WordPress缩略图
add_filter( 'add_image_size', create_function( '', 'return 1;' ) );

//自定义登录页面的LOGO链接为首页链接
add_filter('login_headerurl', create_function(false,"return get_bloginfo('url');"));

Ændret kode

// 彻底禁止 WordPress 缩略图
add_filter( 'add_image_size', function() { return 1; } );

// 自定义登录页面的 LOGO 链接为首页链接
add_filter( 'login_headerurl', function() { return get_bloginfo('url'); } );

Kode forklaring:

  • function() { return 1; } er en anonym funktion, der ikke kræver nogen parametre og returnerer 1.
  • get_bloginfo('url') Det er en funktion, der returnerer hjemmesidens adresse. Vi pakker den også ind med en anonym funktion.

Bedre tilgang: Behandl deaktivering af miniaturebilleder med forsigtighed

Deaktivering af WordPress-thumbnails helt er nogle gange ikke den bedste mulighed. Hvis visse temaer eller plugins kræver billeder af en bestemt størrelse, kan det forårsage uventede problemer, hvis du deaktiverer dem fuldstændigt.

Her er en mere fleksibel løsning: deaktiver selektivt unødvendige billedstørrelser via filtre.

Eksempelkode

add_filter( 'intermediate_image_sizes_advanced', function( $sizes ) {
    unset( $sizes['thumbnail'] ); // 禁用缩略图
    unset( $sizes['medium'] );    // 禁用中等大小
    unset( $sizes['large'] );     // 禁用大图
    return $sizes;
} );

Denne tilgang løser ikke kun problemet, men opretholder også kompatibilitet med visse funktioner.

Ændre kode

Tilføj den ændrede kode til en af ​​følgende placeringer:

  1. af det aktuelle emne functions.php fil.
  2. Tilpasset funktion plug-in (anbefalet metode til at undgå kodedækning af temaopdateringer).

Hvad skal jeg gøre, hvis fejlen stadig opstår efter ændring af koden?

Hvis plug-in'et fluent-snippet-storage er aktiveret, og der stadig er fejl efter ændring, kan det være ifluent-snippet-storage/index.phpDer er en cache i den, og fejlkoden for error_files skal slettes.

Skru opwp-content/fluent-snippet-storage/index.phpFiler, rul ned til slutningen, og find kode, der ligner følgende:

'error_files' => 
array (
'1-e7a7bbe999a4wordpresse5a4b4e983a8e697a0e794a8e4bfa1e681af.php' => 'Uncaught Error: Call to undefined function create_function() in SNIPPET:62',
),
);

Kode til at slette disse fejlregistreringer:

'1-e7a7bbe999a4wordpresse5a4b4e983a8e697a0e794a8e4bfa1e681af.php' => 'Uncaught Error: Call to undefined function create_function() in SNIPPET:62',

Bonustip: Sørg for kodekompatibilitet

Før du ændrer koden, anbefales det at sikkerhedskopiere webstedets filer og database. Du kan bruge plug-ins (såsom UpdraftPlus) til hurtigt at gennemføre sikkerhedskopier og undgå at blive overrumplet, når noget går galt.

På samme tid, hvis du ikke er fortrolig med PHP, anbefales det at forsøge at ændre koden i testmiljøet i stedet for direkte at betjene produktionsmiljøet.

Optimering af kode er en konstant kamp

Dette spørgsmål virker simpelt, men det er faktisk et almindeligt problem, der skal konfronteres med i forbindelse med udvikling af websteder:Kompatibilitet af gammel kode med nyt miljø. Uanset om det er opgradering af PHP-versionen eller forbedring af WordPress-funktioner, er de alle designet til at få hjemmesiden til at køre mere effektivt og sikkert.

For udviklere er det vigtigt at opdatere koden rettidigt og lære nye teknologier. Anonyme funktioner gør ikke kun koden mere kortfattet, men forbedrer også ydeevnen og reducerer potentielle sikkerhedsrisici. Hver optimering tager din hjemmeside et skridt videre.

for at opsummere

  1. create_function() Det understøttes ikke længere i PHP 7.2 og nyere, og det anbefales at bruge anonyme funktioner i stedet.
  2. Efter at have ændret koden, vil din hjemmeside være mere effektiv og sikker.
  3. For bedre kompatibilitet med plugins og temaer kan selektivt deaktivering af billedstørrelser være en bedre løsning.
  4. Optimering af kode handler ikke kun om at løse problemer, men også et skridt i retning af at forbedre kvaliteten af ​​dit websted.

Hvis du har stødt på lignende problemer, kan du prøve løsningerne i denne artikel.

发表 评论

Din e-mailadresse vil ikke blive offentliggjort. 必填 项 已 用 * 标注

Artikel Directory
Rul til top