Article Directory
Jeste li i vi biliWordPressporuka o grešci"Uncaught Error: Call to undefined function create_function() in SNIPPET:62"Glavobolja?"
Ovaj problem zapravo nije teško riješiti. Hajdemo sada detaljno o tome zašto se ovaj problem javlja i kako ga riješiti jednostavnim i učinkovitim kodom.
Zašto dobijam greške create_function?
Prvo malo osnovnog znanja. U PHP 7.2,create_function()Zastarjela je, au PHP 8.0 ova funkcija je direktno uklonjena. Drugim riječima, ako je vaš server nadograđen na PHP 7.2 ili noviji i još uvijek koristi stari kod, ovaj problem će se pojaviti.
Ali srž problema je:create_functionTo je proizvod starog doba. Problem s njim nije samo što više nije podržan, već uvodi i loše performanse i potencijalne sigurnosne rizike. Novo rješenje je korištenjeanonimna funkcija(Anonimne funkcije).
Izmijenite kod: Riješite grešku create_function

Sada, da vidimo kako zamijeniti stari kod. Slijedi plan modifikacije specifičnog koda:
originalni kod
//彻底禁止WordPress缩略图
add_filter( 'add_image_size', create_function( '', 'return 1;' ) );
//自定义登录页面的LOGO链接为首页链接
add_filter('login_headerurl', create_function(false,"return get_bloginfo('url');"));
Modificirani kod
// 彻底禁止 WordPress 缩略图
add_filter( 'add_image_size', function() { return 1; } );
// 自定义登录页面的 LOGO 链接为首页链接
add_filter( 'login_headerurl', function() { return get_bloginfo('url'); } );
Objašnjenje koda :
function() { return 1; }je anonimna funkcija koja ne zahtijeva parametre i vraća1.get_bloginfo('url')To je funkcija koja vraća adresu početne stranice web stranice. Također je obavijamo anonimnom funkcijom.
Bolji pristup: oprezno tretirajte onemogućavanje sličica
Potpuno onemogućavanje WordPress sličica ponekad nije najbolja opcija. Ako određene teme ili dodaci zahtijevaju slike određene veličine, njihovo potpuno onemogućavanje može uzrokovati neočekivane probleme.
Evo fleksibilnijeg rješenja: selektivno onemogućite nepotrebne veličine slike putem filtera.
Primjer koda
add_filter( 'intermediate_image_sizes_advanced', function( $sizes ) {
unset( $sizes['thumbnail'] ); // 禁用缩略图
unset( $sizes['medium'] ); // 禁用中等大小
unset( $sizes['large'] ); // 禁用大图
return $sizes;
} );
Ovaj pristup ne samo da rješava problem, već i održava kompatibilnost s određenim karakteristikama.
Izmijenite kod
Dodajte izmijenjeni kod na jednu od sljedećih lokacija:
- aktuelne teme
functions.phpdokument. - Dodatak prilagođene funkcije (preporučeni način da se izbjegne pokrivenost koda ažuriranjima teme).
Šta da radim ako se greška i dalje javlja nakon izmjene koda?
Ako je dodatak fluent-snippet-storage omogućen i još uvijek postoje greške nakon izmjene, možda je ufluent-snippet-storage/index.phpU njemu se nalazi keš memorija, a kod greške error_files treba izbrisati.
okreni sewp-content/fluent-snippet-storage/index.phpDatoteka, skrolujte do kraja i pronađite kod sličan sledećem:
'error_files' => array ( '1-e7a7bbe999a4wordpresse5a4b4e983a8e697a0e794a8e4bfa1e681af.php' => 'Uncaught Error: Call to undefined function create_function() in SNIPPET:62', ), );
Kod za brisanje ovih zapisa o greškama:
'1-e7a7bbe999a4wordpresse5a4b4e983a8e697a0e794a8e4bfa1e681af.php' => 'Uncaught Error: Call to undefined function create_function() in SNIPPET:62',
Bonus savjet: Osigurajte kompatibilnost koda
Prije izmjene koda, preporučuje se da napravite sigurnosnu kopiju datoteka web stranice i baze podataka. Možete koristiti dodatke (kao što je UpdraftPlus) da brzo završite sigurnosne kopije i izbjegnete da budete zatečeni kada nešto krene po zlu.
Istovremeno, ako niste upoznati sa PHP-om, preporučuje se da pokušate da modifikujete kod u testnom okruženju radije nego da direktno upravljate proizvodnim okruženjem.
Optimizacija koda je stalna borba
Ovaj naizgled jednostavan problem je zapravo čest u razvoju web stranica: kompatibilnost između starog koda i novih okruženja . Bilo da se radi o nadogradnji PHP verzije ili poboljšanju WordPress funkcija, cilj je učiniti web stranice efikasnijim i sigurnijim.
Za programere je bitno pravovremeno ažurirati kod i naučiti nove tehnologije. Anonimne funkcije ne samo da čine kod konciznijim, već i poboljšavaju performanse i smanjuju potencijalne sigurnosne rizike. Svaka optimizacija vodi Vašu web stranicu korak dalje.
总结
create_function()Više nije podržan u PHP 7.2 i novijim verzijama i preporučuje se korištenje anonimnih funkcija umjesto toga.- Nakon izmjene koda, vaša će web stranica biti efikasnija i sigurnija.
- Za bolju kompatibilnost s dodacima i temama, selektivno onemogućavanje veličina slika može biti bolje rješenje.
- Optimizacija koda nije samo rješavanje problema, već i korak ka poboljšanju kvalitete vaše web stranice.
Ako ste naišli na slične probleme, možda biste željeli isprobati rješenja u ovom članku.
Nadam se da će vam rješenje za "WordPress Uncaught Error: Call to undefined function create_function()" podijeljeno na Chen Weiliangovom blogu ( https://www.chenweiliang.com/ ) biti korisno.
Slobodno podijelite link ovog članka: https://www.chenweiliang.com/cwl-32407.html
