Directori d'articles
Tu també has estatWordPressmissatge d'error"Uncaught Error: Call to undefined function create_function() in SNIPPET:62"Tens un mal de cap?"
En realitat, aquest problema no és difícil de resoldre. Parlem ara amb detall sobre per què es produeix aquest problema i com resoldre'l amb un codi senzill i eficaç.
Per què rebo errors create_function?
Primer una mica de coneixements bàsics. A PHP 7.2,create_function()Ha quedat obsolet i, a PHP 8.0, aquesta funció es va eliminar directament. En altres paraules, si el vostre servidor s'ha actualitzat a PHP 7.2 o superior i encara utilitza codi antic, es produirà aquest problema.
Però el nucli del problema és:create_functionÉs un producte d'una època antiga. El problema no és només que ja no s'admet, sinó que també presenta un rendiment baix i possibles riscos de seguretat. La nova solució és utilitzarfunció anònima(Funcions anònimes).
Modifiqueu el codi: solucioneu l'error create_function

Ara, anem a veure com substituir el codi antic. El següent és el pla específic de modificació del codi:
codi original
//彻底禁止WordPress缩略图
add_filter( 'add_image_size', create_function( '', 'return 1;' ) );
//自定义登录页面的LOGO链接为首页链接
add_filter('login_headerurl', create_function(false,"return get_bloginfo('url');"));
Codi modificat
// 彻底禁止 WordPress 缩略图
add_filter( 'add_image_size', function() { return 1; } );
// 自定义登录页面的 LOGO 链接为首页链接
add_filter( 'login_headerurl', function() { return get_bloginfo('url'); } );
Explicació del codi:
function() { return 1; }és una funció anònima que no requereix paràmetres i retorna1.get_bloginfo('url')És una funció que retorna l'adreça de la pàgina d'inici del lloc web. També l'emboliquem amb una funció anònima.
Millor enfocament: tracteu la desactivació de les miniatures amb precaució
Desactivar completament les miniatures de WordPress de vegades no és la millor opció. Si determinats temes o connectors requereixen imatges d'una mida específica, desactivar-los completament pot causar problemes inesperats.
Aquí teniu una solució més flexible: desactiveu selectivament les mides d'imatge innecessàries mitjançant filtres.
Exemple de codi
add_filter( 'intermediate_image_sizes_advanced', function( $sizes ) {
unset( $sizes['thumbnail'] ); // 禁用缩略图
unset( $sizes['medium'] ); // 禁用中等大小
unset( $sizes['large'] ); // 禁用大图
return $sizes;
} );
Aquest enfocament no només resol el problema, sinó que també manté la compatibilitat amb determinades funcions.
Modificar codi
Afegiu el codi modificat a una de les ubicacions següents:
- del tema actual
functions.phpdocument. - Connector de funció personalitzada (mètode recomanat per evitar la cobertura del codi per actualitzacions de temes).
Què he de fer si l'error encara es produeix després de modificar el codi?
Si el connector d'emmagatzematge de fragments fluids està habilitat i encara hi ha errors després de la modificació, és possible que estigui enfluent-snippet-storage/index.phpHi ha una memòria cau i s'ha d'eliminar el codi d'error d'error_files.
apareixwp-content/fluent-snippet-storage/index.phpFitxer, desplaceu-vos cap avall fins al final i cerqueu un codi similar al següent:
'error_files' => array ( '1-e7a7bbe999a4wordpresse5a4b4e983a8e697a0e794a8e4bfa1e681af.php' => 'Uncaught Error: Call to undefined function create_function() in SNIPPET:62', ), );
Codi per eliminar aquests registres d'error:
'1-e7a7bbe999a4wordpresse5a4b4e983a8e697a0e794a8e4bfa1e681af.php' => 'Uncaught Error: Call to undefined function create_function() in SNIPPET:62',
Consell addicional: assegureu-vos la compatibilitat del codi
Abans de modificar el codi, es recomana fer una còpia de seguretat dels fitxers del lloc web i de la base de dades. Podeu utilitzar un connector (com ara UpdraftPlus) per completar ràpidament la còpia de seguretat i evitar que us sorprenguin desprevinguts quan alguna cosa va malament.
Al mateix temps, si no esteu familiaritzat amb PHP, es recomana intentar modificar el codi a l'entorn de prova en lloc d'utilitzar directament l'entorn de producció.
Optimitzar el codi és una batalla constant
Aquesta pregunta sembla senzilla, però en realitat és un problema comú que cal afrontar en el desenvolupament de llocs web:Compatibilitat del codi antic amb el nou entorn. Tant si es tracta de l'actualització de la versió PHP com de la millora de les funcions de WordPress, totes estan dissenyades per fer que el lloc web funcioni de manera més eficient i segura.
Per als desenvolupadors, és essencial actualitzar el codi de manera oportuna i aprendre noves tecnologies. Les funcions anònimes no només fan que el codi sigui més concís, sinó que també milloren el rendiment i redueixen els possibles riscos de seguretat. Cada optimització porta el vostre lloc web un pas més enllà.
总结
create_function()Ja no és compatible amb PHP 7.2 i posteriors, i es recomana utilitzar funcions anònimes.- Després de modificar el codi, el vostre lloc web serà més eficient i segur.
- Per a una millor compatibilitat amb els connectors i els temes, desactivar selectivament les mides de les imatges pot ser una millor solució.
- Optimitzar el codi no és només solucionar problemes, sinó també un pas cap a la millora de la qualitat del vostre lloc web.
Si us heu trobat amb problemes similars, potser voldreu provar les solucions d'aquest article.
Bloc d'Hope Chen Weiliang ( https://www.chenweiliang.com/ ) compartit per "Error no detectat de WordPress: trucada a la funció indefinida create_function() Solution" us pot ser útil.
Benvingut a compartir l'enllaç d'aquest article:https://www.chenweiliang.com/cwl-32407.html
Per desbloquejar més trucs ocults🔑, us convidem a unir-vos al nostre canal de Telegram!
Comparteix i m'agrada si t'agrada! Els vostres likes i comparticions són la nostra motivació continuada!