WordPress升级至6.0.3后出现致命错误:函数重复声明
解决WordPress升级到6.0.3后函数重复声明的致命错误
错误详情
Fatal error: Cannot redeclare wp_get_attachment_thumb_file()(previously declared in/home/lh1fmg9r4ipw/public_html/wp-includes/post.php:6709) in/home/lh1fmg9r4ipw/public_html/wp-includes/deprecated.php on line 4327
问题原因
wp_get_attachment_thumb_file()函数在post.php和deprecated.php中被重复声明。正常情况下,WordPress 6.0.3版本中该函数仅存在于post.php文件内,deprecated.php里不会包含这个函数的定义。你遇到的问题大概率是升级过程中文件被错误覆盖,或者混入了WordPress 6.1+版本的代码(该函数在6.1.0版本才被标记为废弃并移至deprecated.php)。
解决方案
方案1:重新覆盖官方核心文件
- 从WordPress官方下载6.0.3版本的完整安装包
- 解压后,将
wp-includes文件夹上传至服务器,覆盖现有同名文件夹(操作前务必备份原wp-includes文件夹) - 注意不要覆盖
wp-config.php和wp-content文件夹,避免丢失网站配置、主题及插件数据
方案2:手动移除重复的函数定义
- 通过服务器文件管理器或FTP工具找到
wp-includes/deprecated.php文件 - 定位到第4327行开始的
wp_get_attachment_thumb_file()函数代码,删除整个函数(从开头的/**注释到结尾的}) - 保存文件后刷新网站即可
注意事项
- 操作前必须备份网站所有文件和数据库,防止操作失误导致数据丢失
- 优先选择方案1,手动修改核心文件可能在后续版本升级时再次引发同类问题,使用官方文件覆盖能保证核心代码的完整性
内容的提问来源于stack exchange,提问作者Drew
相关产品推荐
相关产品推荐

