Հոդվածների տեղեկատու
Դուք նույնպես եղել եքWordPressսխալի հաղորդագրություն»Uncaught Error: Call to undefined function create_function() in SNIPPET:62«Գլխացավա՞վ է»:
Այս խնդիրն իրականում դժվար չէ լուծել, հիմա մանրամասն խոսենք, թե ինչու է առաջանում այս խնդիրը և ինչպես լուծել այն պարզ և արդյունավետ կոդով:
Ինչու՞ եմ ես ստանում create_function սխալներ:
Սկզբում մի փոքր նախապատմություն: PHP 7.2-ում,create_function()Այն հնացել է, և PHP 8.0-ում այս ֆունկցիան ուղղակիորեն հեռացվել է: Այլ կերպ ասած, եթե ձեր սերվերը արդիականացվել է PHP 7.2 կամ ավելի բարձր և դեռ օգտագործում է հին կոդ, ապա այս խնդիրը կառաջանա:
Բայց խնդրի էությունը հետևյալն է.create_functionԴա հին դարաշրջանի արդյունք է։ Դրա խնդիրն այն է, որ ոչ միայն այն այլևս չի աջակցվում, այլ նաև ներկայացնում է վատ կատարողականություն և անվտանգության հնարավոր ռիսկեր: Նոր լուծումը օգտագործելն էանանուն գործառույթ(Անանուն գործառույթներ):
Փոփոխեք կոդը. Լուծեք create_function սխալը

Այժմ տեսնենք, թե ինչպես փոխարինել հին ծածկագիրը: Կոդի փոփոխման հատուկ պլանը հետևյալն է.
օրիգինալ կոդը
//彻底禁止WordPress缩略图
add_filter( 'add_image_size', create_function( '', 'return 1;' ) );
//自定义登录页面的LOGO链接为首页链接
add_filter('login_headerurl', create_function(false,"return get_bloginfo('url');"));
Փոփոխված կոդը
// 彻底禁止 WordPress 缩略图
add_filter( 'add_image_size', function() { return 1; } );
// 自定义登录页面的 LOGO 链接为首页链接
add_filter( 'login_headerurl', function() { return get_bloginfo('url'); } );
Կոդի բացատրություն:
function() { return 1; }անանուն ֆունկցիա է, որը պարամետրեր չի պահանջում և վերադարձնում է1.get_bloginfo('url')Դա մի ֆունկցիա է, որը վերադարձնում է կայքի գլխավոր էջի հասցեն, այն նաև անանուն գործառույթով է:
Ավելի լավ մոտեցում. զգուշությամբ վերաբերվեք մանրապատկերների անջատմանը
WordPress-ի մանրապատկերների ամբողջական անջատումը երբեմն լավագույն տարբերակը չէ: Եթե որոշ թեմաներ կամ պլագիններ պահանջում են որոշակի չափի պատկերներ, դրանք ամբողջությամբ անջատելը կարող է անսպասելի խնդիրներ առաջացնել:
Ահա ավելի ճկուն լուծում. ընտրողաբար անջատեք պատկերների ավելորդ չափերը ֆիլտրերի միջոցով:
Նմուշ կոդ
add_filter( 'intermediate_image_sizes_advanced', function( $sizes ) {
unset( $sizes['thumbnail'] ); // 禁用缩略图
unset( $sizes['medium'] ); // 禁用中等大小
unset( $sizes['large'] ); // 禁用大图
return $sizes;
} );
Այս մոտեցումը ոչ միայն լուծում է խնդիրը, այլեւ պահպանում է համատեղելիությունը որոշակի հատկանիշների հետ:
Փոփոխել կոդը
Ավելացրեք փոփոխված կոդը հետևյալ վայրերից մեկում.
- ընթացիկ թեմայի վերաբերյալ
functions.phpֆայլ - Հատուկ գործառույթի հավելում (առաջարկվող մեթոդ՝ թեմաների թարմացումներով կոդի ծածկույթից խուսափելու համար):
Ի՞նչ պետք է անեմ, եթե կոդը փոփոխելուց հետո սխալը դեռ տեղի է ունենում:
Եթե fluent-snippet-storage plug-in-ը միացված է, և փոփոխություններից հետո դեռ կան սխալներ, այն կարող է լինելfluent-snippet-storage/index.phpԴրա մեջ կա քեշ, և error_files-ի սխալ կոդը պետք է ջնջվի:
վերածվելwp-content/fluent-snippet-storage/index.phpՖայլ, ոլորեք ներքև մինչև վերջ և գտեք հետևյալի նման ծածկագիրը.
'error_files' => array ( '1-e7a7bbe999a4wordpresse5a4b4e983a8e697a0e794a8e4bfa1e681af.php' => 'Uncaught Error: Call to undefined function create_function() in SNIPPET:62', ), );
Կոդ՝ այս սխալի գրառումները ջնջելու համար.
'1-e7a7bbe999a4wordpresse5a4b4e983a8e697a0e794a8e4bfa1e681af.php' => 'Uncaught Error: Call to undefined function create_function() in SNIPPET:62',
Բոնուսային հուշում. Ապահովեք կոդի համատեղելիությունը
Նախքան կոդը փոփոխելը, խորհուրդ է տրվում կրկնօրինակել կայքի ֆայլերը և տվյալների բազան: Դուք կարող եք օգտագործել plug-in-ը (օրինակ՝ UpdraftPlus-ը), որպեսզի արագ ավարտեք պահուստավորումը և չվախենաք, երբ ինչ-որ բան սխալ է լինում:
Միևնույն ժամանակ, եթե դուք ծանոթ չեք PHP-ին, խորհուրդ է տրվում փորձել փոփոխել կոդը թեստային միջավայրում, այլ ոչ թե ուղղակիորեն գործարկել արտադրական միջավայրը:
Կոդի օպտիմիզացումը մշտական պայքար է
Այս հարցը պարզ է թվում, բայց իրականում դա սովորական խնդիր է, որը պետք է բախվի վեբ կայքի մշակման ժամանակ.Հին կոդի համատեղելիությունը նոր միջավայրի հետ. Անկախ նրանից, թե դա PHP տարբերակի թարմացումն է, թե WordPress-ի գործառույթների բարելավումը, դրանք բոլորը նախատեսված են վեբկայքն ավելի արդյունավետ և անվտանգ գործելու համար:
Մշակողների համար կարևոր է ժամանակին թարմացնել կոդը և սովորել նոր տեխնոլոգիաներ: Անանուն գործառույթները ոչ միայն ավելի հակիրճ են դարձնում կոդը, այլև բարելավում են կատարողականությունը և նվազեցնում անվտանգության հնարավոր ռիսկերը: Յուրաքանչյուր օպտիմիզացում ձեր կայքը մեկ քայլ առաջ է տանում:
ամփոփում
create_function()Այն այլևս չի աջակցվում PHP 7.2 և ավելի բարձր տարբերակներում: Փոխարենը խորհուրդ է տրվում օգտագործել անանուն գործառույթներ:- Կոդը փոփոխելուց հետո ձեր կայքը կլինի ավելի արդյունավետ և անվտանգ:
- Փլագինների և թեմաների հետ ավելի լավ համատեղելիության համար ավելի լավ լուծում կարող է լինել պատկերների չափերի ընտրովի անջատումը:
- Կոդի օպտիմիզացումը ոչ միայն խնդիրների վերացումն է, այլ նաև ձեր կայքի որակի բարելավմանն ուղղված քայլ:
Եթե դուք հանդիպել եք նմանատիպ խնդիրների, գուցե ցանկանաք փորձել այս հոդվածի լուծումները:
Հույս Chen Weiliang բլոգ ( https://www.chenweiliang.com/ ) կիսվել է «WordPress Uncaught Error. Call to undefined function create_function() Solution»-ի կողմից, կարող է օգտակար լինել ձեզ համար:
Բարի գալուստ՝ կիսելու այս հոդվածի հղումը.https://www.chenweiliang.com/cwl-32407.html
