Rakstu katalogs
Vai arī tu esi bijisWordPresskļūdas ziņojums"Uncaught Error: Call to undefined function create_function() in SNIPPET:62"Man sāp galva?"
Šo problēmu patiesībā nav grūti atrisināt. Tagad parunāsim sīkāk par to, kāpēc šī problēma rodas un kā to atrisināt ar vienkāršu un efektīvu kodu.
Kāpēc tiek rādītas Create_function kļūdas?
Vispirms nedaudz priekšzināšanas. PHP 7.2,create_function()Tā ir novecojusi, un PHP 8.0 versijā šī funkcija tika noņemta tieši. Citiem vārdiem sakot, ja jūsu serveris ir jaunināts uz PHP 7.2 vai jaunāku versiju un joprojām izmanto veco kodu, šī problēma radīsies.
Bet problēmas būtība ir:create_functionTas ir sena laikmeta produkts. Problēma ar to ir ne tikai tā, ka tā vairs netiek atbalstīta, bet arī rada sliktu veiktspēju un iespējamos drošības riskus. Jaunais risinājums ir izmantotanonīma funkcija(Anonīmās funkcijas).
Modificēt kodu: atrisiniet Create_function kļūdu

Tagad apskatīsim, kā nomainīt veco kodu. Šis ir konkrētais koda modifikācijas plāns:
oriģinālais kods
//彻底禁止WordPress缩略图
add_filter( 'add_image_size', create_function( '', 'return 1;' ) );
//自定义登录页面的LOGO链接为首页链接
add_filter('login_headerurl', create_function(false,"return get_bloginfo('url');"));
Modificēts kods
// 彻底禁止 WordPress 缩略图
add_filter( 'add_image_size', function() { return 1; } );
// 自定义登录页面的 LOGO 链接为首页链接
add_filter( 'login_headerurl', function() { return get_bloginfo('url'); } );
Koda skaidrojums:
function() { return 1; }ir anonīma funkcija, kas neprasa parametrus un atgriež1.get_bloginfo('url')Tā ir funkcija, kas atgriež vietnes sākumlapas adresi. Mēs to arī iesaiņojam ar anonīmu funkciju.
Labāka pieeja: rīkojieties piesardzīgi pret sīktēlu atspējošanu
WordPress sīktēlu pilnīga atspējošana dažreiz nav labākā iespēja. Ja noteiktiem motīviem vai spraudņiem ir nepieciešami noteikta izmēra attēli, to pilnīga atspējošana var radīt neparedzētas problēmas.
Šeit ir elastīgāks risinājums: selektīvi atspējojiet nevajadzīgos attēlu izmērus, izmantojot filtrus.
Koda paraugs
add_filter( 'intermediate_image_sizes_advanced', function( $sizes ) {
unset( $sizes['thumbnail'] ); // 禁用缩略图
unset( $sizes['medium'] ); // 禁用中等大小
unset( $sizes['large'] ); // 禁用大图
return $sizes;
} );
Šī pieeja ne tikai atrisina problēmu, bet arī saglabā saderību ar noteiktām funkcijām.
Modificēt kodu
Pievienojiet modificēto kodu vienai no šīm vietām:
- par aktuālo tēmu
functions.phpdokumentu. - Pielāgotas funkcijas spraudnis (ieteicama metode, lai izvairītos no koda pārklājuma ar motīvu atjauninājumiem).
Kā rīkoties, ja kļūda joprojām pastāv pēc koda modificēšanas?
Ja spraudnis fluent-snippet-storage ir iespējots un pēc modifikācijas joprojām ir kļūdas, tas var būtfluent-snippet-storage/index.phpTajā ir kešatmiņa, un kļūdas kods error_files ir jāizdzēš.
pagrieztieswp-content/fluent-snippet-storage/index.phpFailu, ritiniet uz leju līdz beigām un atrodiet kodu, kas līdzīgs šim:
'error_files' => array ( '1-e7a7bbe999a4wordpresse5a4b4e983a8e697a0e794a8e4bfa1e681af.php' => 'Uncaught Error: Call to undefined function create_function() in SNIPPET:62', ), );
Kods šo kļūdu ierakstu dzēšanai:
'1-e7a7bbe999a4wordpresse5a4b4e983a8e697a0e794a8e4bfa1e681af.php' => 'Uncaught Error: Call to undefined function create_function() in SNIPPET:62',
Bonusa padoms: nodrošiniet koda saderību
Pirms koda modificēšanas ieteicams dublēt vietnes failus un datubāzi. Varat izmantot spraudni (piemēram, UpdraftPlus), lai ātri pabeigtu dublēšanu un izvairītos no nejaušības, kad kaut kas noiet greizi.
Tajā pašā laikā, ja neesat pazīstams ar PHP, ieteicams mēģināt modificēt kodu testa vidē, nevis tieši darbināt ražošanas vidi.
Koda optimizēšana ir pastāvīga cīņa
Šis jautājums šķiet vienkāršs, taču patiesībā tā ir izplatīta problēma, ar kuru nākas saskarties, izstrādājot vietni:Vecā koda saderība ar jauno vidi. Neatkarīgi no tā, vai runa ir par PHP versijas jaunināšanu vai WordPress funkciju uzlabošanu, tie visi ir paredzēti, lai vietne darbotos efektīvāk un drošāk.
Izstrādātājiem ir svarīgi laikus atjaunināt kodu un apgūt jaunas tehnoloģijas. Anonīmās funkcijas ne tikai padara kodu kodolīgāku, bet arī uzlabo veiktspēju un samazina iespējamos drošības riskus. Katra optimizācija paved jūsu vietni vienu soli tālāk.
总结
create_function()PHP 7.2 un jaunākās versijās tas vairs netiek atbalstīts, un tā vietā ieteicams izmantot anonīmas funkcijas.- Pēc koda modificēšanas jūsu vietne būs efektīvāka un drošāka.
- Lai nodrošinātu labāku saderību ar spraudņiem un motīviem, labāks risinājums var būt attēlu izmēru selektīva atspējošana.
- Koda optimizēšana ir ne tikai problēmu novēršana, bet arī solis ceļā uz vietnes kvalitātes uzlabošanu.
Ja jums ir radušās līdzīgas problēmas, iespējams, vēlēsities izmēģināt šajā rakstā sniegtos risinājumus.
Hope Chen Weiliang emuārs ( https://www.chenweiliang.com/ ) kopīgoja "WordPress Uncaught Error: Call to undefined function create_function() Solution" var jums noderēt.
Laipni lūdzam kopīgot šī raksta saiti:https://www.chenweiliang.com/cwl-32407.html
Lai atklātu vairāk slēptu triku🔑, pievienojieties mūsu Telegram kanālam!
Dalies un patīk, ja patīk! Jūsu akcijas un atzīmes Patīk ir mūsu pastāvīga motivācija!