WordPress网站blocks.php第20行致命错误修复求助
解决WordPress strpos()参数类型致命错误
错误详情
Fatal error: Uncaught TypeError: strpos(): Argument #1 ($haystack) must be of type string, array given in /home/yvnglvster/yvnglvster.com/wp-includes/blocks.php:20 Stack trace: #0 /home/yvnglvster/yvnglvster.com/wp-includes/blocks.php(20): strpos(Array, 'file:') #1 /home/yvnglvster/yvnglvster.com/wp-includes/blocks.php(84): remove_block_asset_path_prefix(Array) #2 /home/yvnglvster/yvnglvster.com/wp-includes/blocks.php(330): register_block_script_handle(Array, 'viewScript') #3 /home/yvnglvster/yvnglvster.com/wp-includes/blocks/navigation.php(672): register_block_type_from_metadata('/home/yvnglvste...', Array) #4 /home/yvnglvster/yvnglvster.com/wp-includes/class-wp-hook.php(307): register_block_core_navigation('') #5 /home/yvnglvster/yvnglvster.com/wp-includes/class-wp-hook.php(331): WP_Hook->apply_filters(NULL, Array) #6 /home/yvnglvster/yvnglvster.com/wp-includes/plugin.php(476): WP_Hook->do_action(Array) #7 /home/yvnglvster/yvnglvster.com/wp-settings.php(598): do_action('init') #8 /home/yvnglvster/yvnglvster.com/wp-config.php(107): require_once('/home/yvnglvste...') #9 /home/yvnglvster/yvnglvster.com/wp-load.php(50): require_once('/home/yvnglvste...') #10 /home/yvnglvster/yvnglvster.com/wp-blog-header.php(13): require_once('/home/yvnglvste...') #11 /home/yvnglvster/yvnglvster.com/index.php(17): require('/home/yvnglvster...') #12 {main} thrown in /home/yvnglvster/yvnglvster.com/wp-includes/blocks.php on line 20
修复步骤
替换受损核心文件:
下载与当前WordPress版本完全一致的安装包,解压后找到wp-includes/blocks.php和wp-includes/blocks/navigation.php文件,用FTP或服务器文件管理器上传覆盖对应文件(操作前务必备份原文件)。核心文件损坏是这类错误的常见诱因,替换后多数情况可解决问题。排查主题/插件冲突:
通过FTP重命名wp-content/themes下的当前主题文件夹(例如改为themes-old),强制WordPress切换到默认主题;再重命名wp-content/plugins文件夹为plugins-old,禁用所有插件。若网站恢复正常,再逐个恢复主题和插件,定位引发问题的对象后进行更新或移除。清除所有缓存:
清空服务器缓存、CDN缓存,以及WordPress缓存插件的缓存(如有)。缓存残留可能导致错误状态持续,即使文件已修复。升级至最新稳定版WordPress:
若当前使用旧版本WordPress,该错误可能是已知bug,升级到最新稳定版可修复这类兼容性问题。
内容的提问来源于stack exchange,提问作者Yvng Lvster
相关产品推荐
相关产品推荐

