Нефатена грешка на 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 е овозможен и сè уште има грешки по модификацијата, тој може да биде во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',

Бонус совет: Обезбедете компатибилност на кодот

Пред да го измените кодот, се препорачува да направите резервна копија од датотеките и базата на податоци на веб-локацијата. Можете да користите приклучоци (како што е UpdraftPlus) за брзо завршување на резервните копии и да избегнете да бидете фатени кога нешто тргне наопаку.

Во исто време, ако не сте запознаени со PHP, се препорачува да се обидете да го измените кодот во околината за тестирање наместо директно да управувате со производната средина.

Оптимизирањето на кодот е постојана битка

Ова прашање изгледа едноставно, но всушност е чест проблем со кој треба да се соочиме при развојот на веб-страницата:Компатибилност на стариот код со нова средина. Без разлика дали се работи за надградба на PHP верзијата или за подобрување на функциите на WordPress, сите тие се дизајнирани да направат веб-локацијата да работи поефикасно и побезбедно.

За програмерите, од суштинско значење е да го ажурираат кодот навремено и да научат нови технологии. Анонимните функции не само што го прават кодот поконцизен, туку и ги подобруваат перформансите и ги намалуваат потенцијалните безбедносни ризици. Секоја оптимизација ја носи вашата веб-страница еден чекор понапред.

да сумираме

  1. create_function() Веќе не е поддржан во PHP 7.2 и погоре, и се препорачува наместо тоа да се користат анонимни функции.
  2. Откако ќе го измените кодот, вашата веб-страница ќе биде поефикасна и побезбедна.
  3. За подобра компатибилност со приклучоците и темите, селективно оневозможување на големини на слики може да биде подобро решение.
  4. Оптимизирањето на кодот не е само за поправање проблеми, туку и чекор кон подобрување на квалитетот на вашата веб-страница.

Ако сте наишле на слични проблеми, можеби ќе сакате да ги испробате решенијата во оваа статија.

Блог на Hope Chen Weiliang ( https://www.chenweiliang.com/ ) споделено од „WordPress Uncaught Error: Call to undefined function create_function() Solution“ може да ви биде корисно.

Добредојдовте да ја споделите врската од оваа статија:https://www.chenweiliang.com/cwl-32407.html

За да отклучите повеќе скриени трикови🔑, добредојдени сте да се придружите на нашиот Телеграм канал!

Споделете и лајкнете ако ви се допаѓа! Вашите споделувања и лајкови се наша постојана мотивација!

 

评论

Вашата адреса за е-пошта нема да биде објавена. Се користат задолжителните полиња * Етикета

Директориум за статии
Дојдете до врв