Artikola Adresaro
Ĉu vi ankaŭ estisWordPresserarmesaĝo"Uncaught Error: Call to undefined function create_function() in SNIPPET:62"Ĉu kapdoloras?"
Ĉi tiu problemo fakte ne malfacilas solvi Ni nun parolu detale pri kial ĉi tiu problemo okazas kaj kiel solvi ĝin per simpla kaj efika kodo.
Kial mi ricevas erarojn de create_function?
Unue iom da fona scio. En PHP 7.2,create_function()Ĝi estis malrekomendita, kaj en PHP 8.0, ĉi tiu funkcio estis rekte forigita. Alivorte, se via servilo estis ĝisdatigita al PHP 7.2 aŭ pli kaj ankoraŭ uzas malnovan kodon, ĉi tiu problemo okazos.
Sed la kerno de la problemo estas:create_functionĜi estas produkto de malnova epoko. La problemo kun ĝi ne nur estas, ke ĝi ne plu estas subtenata, sed ĝi ankaŭ enkondukas malbonan rendimenton kaj eblajn sekurecajn riskojn. La nova solvo estas uzianonima funkcio(Anonimaj Funkcioj).
Modifi la kodon: Solvu la eraron krei_funkcion

Nun, ni vidu kiel anstataŭigi la malnovan kodon. La sekvanta estas la specifa koda modifa plano:
originala kodo
//彻底禁止WordPress缩略图
add_filter( 'add_image_size', create_function( '', 'return 1;' ) );
//自定义登录页面的LOGO链接为首页链接
add_filter('login_headerurl', create_function(false,"return get_bloginfo('url');"));
Modifita kodo
// 彻底禁止 WordPress 缩略图
add_filter( 'add_image_size', function() { return 1; } );
// 自定义登录页面的 LOGO 链接为首页链接
add_filter( 'login_headerurl', function() { return get_bloginfo('url'); } );
Klarigo de la kodo :
function() { return 1; }estas anonima funkcio kiu postulas neniujn parametrojn kaj revenas1.get_bloginfo('url')Ĝi estas funkcio kiu resendas la hejmpaĝan adreson de la retejo Ni ankaŭ envolvas ĝin per anonima funkcio.
Pli bona aliro: traktu bildeton malŝalti singarde
Malŝalti WordPress-bildetojn tute foje ne estas la plej bona elekto. Se certaj temoj aŭ aldonaĵoj postulas bildojn de specifa grandeco, tute malŝalti ilin povas kaŭzi neatenditajn problemojn.
Jen pli fleksebla solvo: elekte malebligu nenecesajn bildgrandojn per filtriloj.
Ekzempla kodo
add_filter( 'intermediate_image_sizes_advanced', function( $sizes ) {
unset( $sizes['thumbnail'] ); // 禁用缩略图
unset( $sizes['medium'] ); // 禁用中等大小
unset( $sizes['large'] ); // 禁用大图
return $sizes;
} );
Ĉi tiu aliro ne nur solvas la problemon, sed ankaŭ konservas kongruon kun iuj funkcioj.
Modifi kodon
Aldonu la modifitan kodon al unu el la sekvaj lokoj:
- de aktuala temo
functions.phpdokumento. - Propra funkcio kromaĵo (rekomendita metodo por eviti kodan kovradon per temoĝisdatigoj).
Kion mi faru se la eraro ankoraŭ okazas post modifi la kodon?
Se la aldonaĵo fluent-snippet-storage estas ebligita kaj ankoraŭ estas eraroj post modifo, ĝi povas esti enfluent-snippet-storage/index.phpEstas kaŝmemoro en ĝi, kaj la erarkodo de error_files devas esti forigita.
aperuwp-content/fluent-snippet-storage/index.phpDosiero, rulumu malsupren ĝis la fino kaj trovu kodon similan al la sekvanta:
'error_files' => array ( '1-e7a7bbe999a4wordpresse5a4b4e983a8e697a0e794a8e4bfa1e681af.php' => 'Uncaught Error: Call to undefined function create_function() in SNIPPET:62', ), );
Kodo por forigi ĉi tiujn erarrekordojn:
'1-e7a7bbe999a4wordpresse5a4b4e983a8e697a0e794a8e4bfa1e681af.php' => 'Uncaught Error: Call to undefined function create_function() in SNIPPET:62',
Bonuskonsileto: Certigu kodon kongruon
Antaŭ ol modifi la kodon, oni rekomendas konservi la retejojn kaj datumbazon. Vi povas uzi aldonaĵojn (kiel UpdraftPlus) por rapide kompletigi sekurkopiojn kaj eviti esti kaptita sengarde kiam io misfunkcias.
Samtempe, se vi ne konas PHP, oni rekomendas provi modifi la kodon en la testa medio prefere ol rekte funkcii la produktadmedion.
Optimumigi kodon estas konstanta batalo
Tiu ŝajne simpla problemo estas fakte ofta en reteja disvolviĝo: kongruo inter malnova kodo kaj novaj medioj . Ĉu temas pri ĝisdatigo de PHP-versio aŭ plibonigo de WordPress-funkcioj, la celo estas igi retejojn funkcii pli efike kaj sekure.
Por programistoj, estas esence ĝisdatigi kodon ĝustatempe kaj lerni novajn teknologiojn. Anonimaj funkcioj ne nur faras kodon pli konciza, sed ankaŭ plibonigas rendimenton kaj reduktas eblajn sekurecajn riskojn. Ĉiu optimumigo prenas vian retejon unu paŝon plu.
resumo
create_function()Ĝi ne plu estas subtenata en PHP 7.2 kaj supre, kaj rekomendas uzi anonimajn funkciojn anstataŭe.- Post modifi la kodon, via retejo estos pli efika kaj sekura.
- Por pli bona kongruo kun kromaĵoj kaj temoj, elekte malŝalti bildgrandojn povas esti pli bona solvo.
- Optimumigi kodon ne nur temas pri ripari problemojn, sed ankaŭ paŝon al plibonigo de la kvalito de via retejo.
Se vi renkontis similajn problemojn, vi eble volas provi la solvojn en ĉi tiu artikolo.
Espereble, la solvo al "WordPress Uncaught Error: Call to undefined function create_function()" dividita en la blogo de Chen Weiliang ( https://www.chenweiliang.com/ ) estos helpema al vi.
Bonvolu kunhavigi la ligilon al ĉi tiu artikolo: https://www.chenweiliang.com/cwl-32407.html
