WordPress Баригдсан алдаа: Тодорхойгүй функц create_function() шийдэл рүү залгах

Та ч бас байсан ууWordPressалдааны мессеж"Uncaught Error: Call to undefined function create_function() in SNIPPET:62"Толгой өвдөж байна уу?"

Энэ асуудлыг шийдэх нь үнэндээ тийм ч хэцүү биш бөгөөд энэ асуудал яагаад үүсдэг, үүнийг энгийн бөгөөд үр дүнтэй кодоор хэрхэн шийдвэрлэх талаар дэлгэрэнгүй ярилцъя.

Яагаад би үүсгэх_функцын алдаа гардаг вэ?

Эхлээд бага зэрэг суурь мэдлэг. 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. Plugins болон загваруудтай илүү нийцтэй байхын тулд зургийн хэмжээг сонгон идэвхгүй болгох нь илүү сайн шийдэл байж болох юм.
  4. Кодыг оновчтой болгох нь зөвхөн асуудлыг засахаас гадна вэбсайтынхаа чанарыг сайжруулах алхам юм.

Хэрэв та үүнтэй төстэй асуудалтай тулгарсан бол энэ нийтлэл дэх шийдлүүдийг туршиж үзэхийг хүсч болно.

Hope Chen Weiliang блог ( https://www.chenweiliang.com/ ) хуваалцсан "WordPress Баригдаагүй алдаа: Тодорхойгүй функц create_function() Шийдэл рүү залгах" нь танд тустай байж магадгүй.

Энэ нийтлэлийн холбоосыг хуваалцахад тавтай морилно уу:https://www.chenweiliang.com/cwl-32407.html

Илүү олон далд заль мэхийг нээхийн тулд манай Telegram сувагт нэгдэнэ үү!

Хэрэв танд таалагдвал лайк дарж, хуваалцаарай! Таны шэйр, лайк бол бидний байнгын урам зориг юм!

 

发表 评论

Таны имэйл хаягийг нийтлэхгүй. 必填 项 已 用 дээр ажиллаж байна * 标注

TOP хүртэл гүйлгэж