Artigo Diretório
Você também já esteveWordPressmensagem de erro"Uncaught Error: Call to undefined function create_function() in SNIPPET:62"Deu dor de cabeça?"
Na verdade, esse problema não é difícil de resolver. Vamos falar em detalhes agora sobre por que esse problema ocorre e como resolvê-lo com um código simples e eficaz.
Por que recebo erros de create_function?
Um pouco de conhecimento prévio primeiro. No PHP 7.2,create_function()Ela foi descontinuada e no PHP 8.0 esta função foi removida diretamente. Em outras palavras, se o seu servidor foi atualizado para PHP 7.2 ou superior e ainda usa código antigo, esse problema ocorrerá.
Mas o cerne do problema é:create_functionÉ um produto de uma época antiga. O problema não é apenas que não é mais suportado, mas também apresenta baixo desempenho e potenciais riscos de segurança. A nova solução é usarfunção anônima(Funções anônimas).
Modifique o código: resolva o erro create_function

Agora, vamos ver como substituir o código antigo. A seguir está o plano específico de modificação de código:
código original
//彻底禁止WordPress缩略图
add_filter( 'add_image_size', create_function( '', 'return 1;' ) );
//自定义登录页面的LOGO链接为首页链接
add_filter('login_headerurl', create_function(false,"return get_bloginfo('url');"));
Código modificado
// 彻底禁止 WordPress 缩略图
add_filter( 'add_image_size', function() { return 1; } );
// 自定义登录页面的 LOGO 链接为首页链接
add_filter( 'login_headerurl', function() { return get_bloginfo('url'); } );
Explicação do código:
function() { return 1; }é uma função anônima que não requer parâmetros e retorna1.get_bloginfo('url')É uma função que retorna o endereço da página inicial do site. Também o envolvemos com uma função anônima.
Melhor abordagem: trate a desativação de miniaturas com cautela
Desativar completamente as miniaturas do WordPress às vezes não é a melhor opção. Se determinados temas ou plug-ins exigirem imagens de um tamanho específico, desativá-los completamente poderá causar problemas inesperados.
Aqui está uma solução mais flexível: desative seletivamente tamanhos de imagem desnecessários por meio de filtros.
Código de exemplo
add_filter( 'intermediate_image_sizes_advanced', function( $sizes ) {
unset( $sizes['thumbnail'] ); // 禁用缩略图
unset( $sizes['medium'] ); // 禁用中等大小
unset( $sizes['large'] ); // 禁用大图
return $sizes;
} );
Essa abordagem não apenas resolve o problema, mas também mantém a compatibilidade com determinados recursos.
Modificar código
Adicione o código modificado a um dos seguintes locais:
- do tópico atual
functions.phpArquivo. - Plug-in de função personalizada (método recomendado para evitar cobertura de código por atualizações de tema).
O que devo fazer se o erro persistir após a modificação do código?
Se o plug-in fluent-snippet-storage estiver ativado e ainda houver erros após a modificação, ele pode estar emfluent-snippet-storage/index.phpHá um cache nele e o código de erro de error_files precisa ser excluído.
virar para cimawp-content/fluent-snippet-storage/index.phpArquivo, role para baixo até o final e encontre um código semelhante ao seguinte:
'error_files' => array ( '1-e7a7bbe999a4wordpresse5a4b4e983a8e697a0e794a8e4bfa1e681af.php' => 'Uncaught Error: Call to undefined function create_function() in SNIPPET:62', ), );
Código para excluir esses registros de erro:
'1-e7a7bbe999a4wordpresse5a4b4e983a8e697a0e794a8e4bfa1e681af.php' => 'Uncaught Error: Call to undefined function create_function() in SNIPPET:62',
Dica bônus: garanta a compatibilidade do código
Antes de modificar o código, é recomendável fazer backup dos arquivos e do banco de dados do site. Você pode usar plug-ins (como UpdraftPlus) para concluir backups rapidamente e evitar ser pego de surpresa quando algo der errado.
Ao mesmo tempo, se você não estiver familiarizado com PHP, é recomendável tentar modificar o código no ambiente de teste em vez de operar diretamente no ambiente de produção.
Otimizar o código é uma batalha constante
Esta questão parece simples, mas na verdade é um problema comum que precisa ser enfrentado no desenvolvimento de sites:Compatibilidade do código antigo com o novo ambiente. Seja a atualização da versão PHP ou o aprimoramento das funções do WordPress, todos foram pensados para fazer o site funcionar com mais eficiência e segurança.
Para os desenvolvedores, é essencial atualizar o código em tempo hábil e aprender novas tecnologias. As funções anônimas não apenas tornam o código mais conciso, mas também melhoram o desempenho e reduzem possíveis riscos de segurança. Cada otimização leva seu site um passo adiante.
总结
create_function()Não é mais suportado no PHP 7.2 e superior e é recomendado o uso de funções anônimas.- Após modificar o código, seu site ficará mais eficiente e seguro.
- Para melhor compatibilidade com plug-ins e temas, desabilitar seletivamente os tamanhos das imagens pode ser uma solução melhor.
- Otimizar o código não é apenas corrigir problemas, mas também um passo para melhorar a qualidade do seu site.
Se você encontrou problemas semelhantes, tente as soluções deste artigo.
Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) compartilhado por "WordPress Uncaught Error: Call to undefined function create_function() Solution" pode ser útil para você.
Bem-vindo a compartilhar o link deste artigo:https://www.chenweiliang.com/cwl-32407.html
