Artikulo Direktoryo
- 1 Bakit ako nakakakuha ng mga error sa create_function?
- 2 Baguhin ang code: Lutasin ang error sa create_function
- 3 Mas mahusay na diskarte: tratuhin nang may pag-iingat ang hindi pagpapagana ng thumbnail
- 4 Baguhin ang code
- 5 Tip sa bonus: Tiyakin ang pagiging tugma ng code
- 6 Ang pag-optimize ng code ay isang patuloy na labanan
- 7 总结
naging kayo din baWordPressmensahe ng error"Uncaught Error: Call to undefined function create_function() in SNIPPET:62"Binigyan ng sakit ng ulo?"
Ang problemang ito ay talagang hindi mahirap lutasin. Pag-usapan natin ngayon nang detalyado kung bakit nangyayari ang problemang ito at kung paano ito lutasin gamit ang simple at epektibong code.
Bakit ako nakakakuha ng mga error sa create_function?
Konting background knowledge muna. Sa PHP 7.2,create_function()Ito ay hindi na ginagamit, at sa PHP 8.0, ang function na ito ay direktang inalis. Sa madaling salita, kung ang iyong server ay na-upgrade sa PHP 7.2 o mas mataas at gumagamit pa rin ng lumang code, ang problemang ito ay magaganap.
Ngunit ang pangunahing problema ay:create_functionIto ay produkto ng isang lumang panahon. Ang problema dito ay hindi lamang na hindi na ito suportado, ngunit nagpapakilala rin ito ng mahinang pagganap at mga potensyal na panganib sa seguridad. Ang bagong solusyon ay ang paggamitanonymous na function(Anonymous na Mga Pag-andar).
Baguhin ang code: Lutasin ang error sa create_function

Ngayon, tingnan natin kung paano palitan ang lumang code. Ang sumusunod ay ang partikular na plano sa pagbabago ng code:
orihinal na code
//彻底禁止WordPress缩略图
add_filter( 'add_image_size', create_function( '', 'return 1;' ) );
//自定义登录页面的LOGO链接为首页链接
add_filter('login_headerurl', create_function(false,"return get_bloginfo('url');"));
Binagong code
// 彻底禁止 WordPress 缩略图
add_filter( 'add_image_size', function() { return 1; } );
// 自定义登录页面的 LOGO 链接为首页链接
add_filter( 'login_headerurl', function() { return get_bloginfo('url'); } );
Pagpapaliwanag ng code:
function() { return 1; }ay isang hindi kilalang function na hindi nangangailangan ng mga parameter at pagbabalik1.get_bloginfo('url')Ito ay isang function na nagbabalik ng homepage address ng website ay binabalot din namin ito ng isang hindi kilalang function.
Mas mahusay na diskarte: tratuhin nang may pag-iingat ang hindi pagpapagana ng thumbnail
Ang ganap na hindi pagpapagana ng mga thumbnail ng WordPress ay kung minsan ay hindi ang pinakamahusay na pagpipilian. Kung ang ilang mga tema o plugin ay nangangailangan ng mga larawan ng isang partikular na laki, ang ganap na pag-disable sa mga ito ay maaaring magdulot ng mga hindi inaasahang problema.
Narito ang isang mas nababaluktot na solusyon: piliing huwag paganahin ang mga hindi kinakailangang laki ng larawan sa pamamagitan ng mga filter.
Halimbawang code
add_filter( 'intermediate_image_sizes_advanced', function( $sizes ) {
unset( $sizes['thumbnail'] ); // 禁用缩略图
unset( $sizes['medium'] ); // 禁用中等大小
unset( $sizes['large'] ); // 禁用大图
return $sizes;
} );
Ang diskarte na ito ay hindi lamang malulutas ang problema, ngunit pinapanatili din ang pagiging tugma sa ilang mga tampok.
Baguhin ang code
Idagdag ang binagong code sa isa sa mga sumusunod na lokasyon:
- ng kasalukuyang paksa
functions.phpfile - Custom na function na plug-in (inirerekomendang paraan upang maiwasan ang saklaw ng code sa pamamagitan ng mga update sa tema).
Ano ang dapat kong gawin kung ang error ay nangyayari pa rin pagkatapos baguhin ang code?
Kung pinagana ang fluent-snippet-storage plug-in at may mga error pa rin pagkatapos ng pagbabago, maaaring nasafluent-snippet-storage/index.phpMayroong isang cache sa loob nito, at ang error code ng error_files ay kailangang tanggalin.
itaaswp-content/fluent-snippet-storage/index.phpMag-file, mag-scroll pababa hanggang sa dulo, at maghanap ng code na katulad ng sumusunod:
'error_files' => array ( '1-e7a7bbe999a4wordpresse5a4b4e983a8e697a0e794a8e4bfa1e681af.php' => 'Uncaught Error: Call to undefined function create_function() in SNIPPET:62', ), );
Code para tanggalin ang mga talaan ng error na ito:
'1-e7a7bbe999a4wordpresse5a4b4e983a8e697a0e794a8e4bfa1e681af.php' => 'Uncaught Error: Call to undefined function create_function() in SNIPPET:62',
Tip sa bonus: Tiyakin ang pagiging tugma ng code
Bago baguhin ang code, inirerekomendang i-back up ang mga file at database ng website. Maaari kang gumamit ng mga plug-in (gaya ng UpdraftPlus) upang mabilis na makumpleto ang mga pag-backup at maiwasang mahuli kapag may nangyaring mali.
Kasabay nito, kung hindi ka pamilyar sa PHP, inirerekumenda na subukang baguhin ang code sa kapaligiran ng pagsubok sa halip na direktang patakbuhin ang kapaligiran ng produksyon.
Ang pag-optimize ng code ay isang patuloy na labanan
Ang tanong na ito ay tila simple, ngunit ito ay talagang isang karaniwang problema na kailangang harapin sa pagbuo ng website:Pagkatugma ng lumang code sa bagong kapaligiran. Kung ito man ay ang pag-upgrade ng bersyon ng PHP o ang pagpapabuti ng mga pag-andar ng WordPress, ang lahat ng ito ay idinisenyo upang patakbuhin ang website nang mas mahusay at secure.
Para sa mga developer, mahalagang i-update ang code sa isang napapanahong paraan at matuto ng mga bagong teknolohiya. Ang mga anonymous na function ay hindi lamang ginagawang mas maigsi ang code, ngunit pinapahusay din nito ang pagganap at binabawasan ang mga potensyal na panganib sa seguridad. Ang bawat pag-optimize ay tumatagal sa iyong website ng isang hakbang pa.
总结
create_function()Hindi na ito sinusuportahan sa PHP 7.2 at mas mataas, at sa halip ay inirerekomenda na gumamit ng mga anonymous na function.- Pagkatapos baguhin ang code, magiging mas mahusay at secure ang iyong website.
- Para sa mas mahusay na compatibility sa mga plugin at tema, ang piliing hindi pagpapagana ng mga laki ng larawan ay maaaring isang mas mahusay na solusyon.
- Ang pag-optimize ng code ay hindi lamang tungkol sa pag-aayos ng mga problema, ngunit isa ring hakbang patungo sa pagpapabuti ng kalidad ng iyong website.
Kung nakatagpo ka ng mga katulad na problema, maaari mong subukan ang mga solusyon sa artikulong ito.
Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) na ibinahagi ng "WordPress Uncaught Error: Call to undefined function create_function() Solution" ay maaaring makatulong sa iyo.
Maligayang pagdating upang ibahagi ang link ng artikulong ito:https://www.chenweiliang.com/cwl-32407.html
Upang i-unlock ang higit pang mga nakatagong trick🔑, maligayang pagdating sa aming Telegram channel!
Share and like kung nagustuhan mo! Ang iyong mga pagbabahagi at pag-like ay ang aming patuloy na pagganyak!