WordPress-ի չբռնված սխալ. կանչել չսահմանված ֆունկցիայի create_function() լուծմանը

Դուք նույնպես եղել եք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-ի չբռնված սխալ. կանչել չսահմանված ֆունկցիայի 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;
} );

Այս մոտեցումը ոչ միայն լուծում է խնդիրը, այլեւ պահպանում է համատեղելիությունը որոշակի հատկանիշների հետ:

Փոփոխել կոդը

Ավելացրեք փոփոխված կոդը հետևյալ վայրերից մեկում.

  1. ընթացիկ թեմայի վերաբերյալ functions.php ֆայլ
  2. Հատուկ գործառույթի հավելում (առաջարկվող մեթոդ՝ թեմաների թարմացումներով կոդի ծածկույթից խուսափելու համար):

Ի՞նչ պետք է անեմ, եթե կոդը փոփոխելուց հետո սխալը դեռ տեղի է ունենում:

Եթե ​​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-ի գործառույթների բարելավումը, դրանք բոլորը նախատեսված են վեբկայքն ավելի արդյունավետ և անվտանգ գործելու համար:

Մշակողների համար կարևոր է ժամանակին թարմացնել կոդը և սովորել նոր տեխնոլոգիաներ: Անանուն գործառույթները ոչ միայն ավելի հակիրճ են դարձնում կոդը, այլև բարելավում են կատարողականությունը և նվազեցնում անվտանգության հնարավոր ռիսկերը: Յուրաքանչյուր օպտիմիզացում ձեր կայքը մեկ քայլ առաջ է տանում:

ամփոփում

  1. create_function() Այն այլևս չի աջակցվում PHP 7.2 և ավելի բարձր տարբերակներում: Փոխարենը խորհուրդ է տրվում օգտագործել անանուն գործառույթներ:
  2. Կոդը փոփոխելուց հետո ձեր կայքը կլինի ավելի արդյունավետ և անվտանգ:
  3. Փլագինների և թեմաների հետ ավելի լավ համատեղելիության համար ավելի լավ լուծում կարող է լինել պատկերների չափերի ընտրովի անջատումը:
  4. Կոդի օպտիմիզացումը ոչ միայն խնդիրների վերացումն է, այլ նաև ձեր կայքի որակի բարելավմանն ուղղված քայլ:

Եթե ​​դուք հանդիպել եք նմանատիպ խնդիրների, գուցե ցանկանաք փորձել այս հոդվածի լուծումները:

Հույս Chen Weiliang բլոգ ( https://www.chenweiliang.com/ ) կիսվել է «WordPress Uncaught Error. Call to undefined function create_function() Solution»-ի կողմից, կարող է օգտակար լինել ձեզ համար:

Բարի գալուստ՝ կիսելու այս հոդվածի հղումը.https://www.chenweiliang.com/cwl-32407.html

Ավելի շատ թաքնված հնարքներ բացահայտելու համար🔑, միացեք մեր Telegram ալիքին։

Տարածեք և հավանեք, եթե ձեզ դուր եկավ: Ձեր կիսումներն ու հավանումները մեր շարունակական շարժառիթն են:

 

发表 评论

Ձեր էլփոստի հասցեն չի հրապարակվի: Օգտագործվում են պահանջվող դաշտերը * Պիտակ

Հոդվածների տեղեկատու
Ոլորել դեպի սկիզբ