Gwall Heb ei Dal yn WordPress: Galwad i ddatrysiad swyddogaeth heb ei ddiffinio create_function().

Ydych chi hefyd wedi bodWordPressneges gwall"Uncaught Error: Call to undefined function create_function() in SNIPPET:62"O ystyried cur pen?"

Mewn gwirionedd nid yw'r broblem hon yn anodd ei datrys, gadewch i ni siarad yn fanwl nawr am pam mae'r broblem hon yn digwydd a sut i'w datrys gyda chod syml ac effeithiol.

Pam ydw i'n cael gwallau create_function?

Ychydig o wybodaeth gefndir yn gyntaf. Yn PHP 7.2,create_function()Mae wedi'i anghymeradwyo, ac yn PHP 8.0, tynnwyd y swyddogaeth hon yn uniongyrchol. Mewn geiriau eraill, os yw'ch gweinydd wedi'i uwchraddio i PHP 7.2 neu uwch ac yn dal i ddefnyddio hen god, bydd y broblem hon yn digwydd.

Ond craidd y broblem yw:create_functionMae'n gynnyrch o gyfnod hen. Y broblem ag ef yw nid yn unig nad yw'n cael ei gefnogi mwyach, ond mae hefyd yn cyflwyno perfformiad gwael a risgiau diogelwch posibl. Yr ateb newydd yw defnyddioswyddogaeth ddienw(Swyddogaethau Anhysbys).

Addasu'r cod: Datrys y gwall create_function

Gwall Heb ei Dal yn WordPress: Galwad i ddatrysiad swyddogaeth heb ei ddiffinio create_function().

Nawr, gadewch i ni weld sut i ddisodli'r hen god. Dyma'r cynllun addasu cod penodol:

cod gwreiddiol

//彻底禁止WordPress缩略图
add_filter( 'add_image_size', create_function( '', 'return 1;' ) );

//自定义登录页面的LOGO链接为首页链接
add_filter('login_headerurl', create_function(false,"return get_bloginfo('url');"));

Cod wedi'i addasu

// 彻底禁止 WordPress 缩略图
add_filter( 'add_image_size', function() { return 1; } );

// 自定义登录页面的 LOGO 链接为首页链接
add_filter( 'login_headerurl', function() { return get_bloginfo('url'); } );

Esboniad cod:

  • function() { return 1; } yn swyddogaeth ddienw nad oes angen unrhyw baramedrau a dychweliadau 1.
  • get_bloginfo('url') Mae'n swyddogaeth sy'n dychwelyd cyfeiriad hafan y wefan Rydym hefyd yn ei lapio â swyddogaeth ddienw.

Gwell ymagwedd: trin analluogi bawd yn ofalus

Weithiau nid analluogi mân-luniau WordPress yn gyfan gwbl yw'r opsiwn gorau. Os oes angen delweddau o faint penodol ar rai themâu neu ategion, gallai eu hanalluogi'n llwyr achosi problemau annisgwyl.

Dyma ddatrysiad mwy hyblyg: analluogi meintiau delwedd diangen yn ddetholus trwy hidlwyr.

Cod sampl

add_filter( 'intermediate_image_sizes_advanced', function( $sizes ) {
    unset( $sizes['thumbnail'] ); // 禁用缩略图
    unset( $sizes['medium'] );    // 禁用中等大小
    unset( $sizes['large'] );     // 禁用大图
    return $sizes;
} );

Mae'r dull hwn nid yn unig yn datrys y broblem, ond hefyd yn cynnal cydnawsedd â rhai nodweddion.

Addasu cod

Ychwanegwch y cod wedi'i addasu i un o'r lleoliadau canlynol:

  1. o bwnc cyfredol functions.php ffeil.
  2. Ategyn swyddogaeth bersonol (dull a argymhellir i osgoi sylw cod trwy ddiweddariadau thema).

Beth ddylwn i ei wneud os bydd y gwall yn dal i ddigwydd ar ôl addasu'r cod?

Os yw'r ategyn storio pytiau rhugl wedi'i alluogi a bod gwallau o hyd ar ôl ei addasu, gall fod ynfluent-snippet-storage/index.phpMae storfa ynddo, ac mae angen dileu cod gwall error_files.

troi i fynywp-content/fluent-snippet-storage/index.phpFfeil, sgroliwch i lawr i'r diwedd, a dod o hyd i god tebyg i'r canlynol:

'error_files' => 
array (
'1-e7a7bbe999a4wordpresse5a4b4e983a8e697a0e794a8e4bfa1e681af.php' => 'Uncaught Error: Call to undefined function create_function() in SNIPPET:62',
),
);

Cod i ddileu'r cofnodion gwall hyn:

'1-e7a7bbe999a4wordpresse5a4b4e983a8e697a0e794a8e4bfa1e681af.php' => 'Uncaught Error: Call to undefined function create_function() in SNIPPET:62',

Awgrym bonws: Sicrhau cydnawsedd cod

Cyn addasu'r cod, argymhellir gwneud copi wrth gefn o ffeiliau'r wefan a chronfa ddata. Gallwch ddefnyddio ategion (fel UpdraftPlus) i gwblhau copïau wrth gefn yn gyflym ac osgoi cael eich dal yn wyliadwrus pan aiff rhywbeth o'i le.

Ar yr un pryd, os nad ydych chi'n gyfarwydd â PHP, argymhellir ceisio addasu'r cod yn yr amgylchedd prawf yn hytrach na gweithredu'r amgylchedd cynhyrchu yn uniongyrchol.

Mae optimeiddio cod yn frwydr gyson

Mae'r cwestiwn hwn yn ymddangos yn syml, ond mewn gwirionedd mae'n broblem gyffredin y mae angen ei hwynebu wrth ddatblygu gwefan:Cydnawsedd yr hen god ag amgylchedd newydd. P'un a yw'n uwchraddio'r fersiwn PHP neu'n gwella swyddogaethau WordPress, maent i gyd wedi'u cynllunio i wneud i'r wefan redeg yn fwy effeithlon a diogel.

I ddatblygwyr, mae'n hanfodol diweddaru cod mewn modd amserol a dysgu technolegau newydd. Mae swyddogaethau dienw nid yn unig yn gwneud cod yn fwy cryno, ond hefyd yn gwella perfformiad a lleihau risgiau diogelwch posibl. Mae pob optimization yn mynd â'ch gwefan gam ymhellach.

i grynhoi

  1. create_function() Nid yw bellach yn cael ei gefnogi yn PHP 7.2 ac uwch, ac argymhellir defnyddio swyddogaethau dienw yn lle hynny.
  2. Ar ôl addasu'r cod, bydd eich gwefan yn fwy effeithlon a diogel.
  3. Er mwyn cydnawsedd yn well ag ategion a themâu, gallai analluogi meintiau delwedd yn ddetholus fod yn ateb gwell.
  4. Mae optimeiddio cod nid yn unig yn ymwneud â thrwsio problemau, ond hefyd yn gam tuag at wella ansawdd eich gwefan.

Os ydych chi wedi dod ar draws problemau tebyg, efallai yr hoffech chi roi cynnig ar yr atebion yn yr erthygl hon.

发表 评论

Ni fydd eich cyfeiriad e-bost yn cael ei gyhoeddi. 必填 项 已 用 * Label

Sgroliwch i'r brig