WordPress+WooCommerce站点报错:is_admin_or_embed_page函数已废弃求助
报错内容
Deprecated: Function is_admin_or_embed_page is deprecated since version 6.3! Use \Automattic\WooCommerce\Admin\PageController::is_admin_or_embed_page() instead. in /home/xxx/public_html/wp-includes/functions.php on line 5379
解决步骤
定位问题代码
这个报错不是WordPress核心文件本身的问题,是你的主题或第三方插件里调用了已被废弃的is_admin_or_embed_page()函数。用文件搜索工具在主题和插件目录下查找该函数的调用位置。替换为官方推荐函数
将所有找到的is_admin_or_embed_page()调用,替换为\Automattic\WooCommerce\Admin\PageController::is_admin_or_embed_page(),注意保留完整的命名空间前缀。更新主题/插件
如果是第三方主题或插件引发的问题,优先检查该工具是否有最新版本,更新到兼容WooCommerce 6.3+的版本,开发者通常会在新版本中修复这类废弃函数兼容问题。排查触发插件
若不确定是哪个插件导致,可逐个禁用插件并刷新页面,找到触发报错的插件后,要么更新它,要么联系开发者提交修复请求,或者更换功能类似的替代插件。临时隐藏报错(不推荐长期使用)
若只是临时不想看到报错提示,可在wp-config.php文件中添加以下代码,关闭PHP废弃类错误提示:error_reporting(E_ALL & ~E_DEPRECATED & ~E_USER_DEPRECATED);
内容的提问来源于stack exchange,提问作者Jack Ma

