WordPress站点突发故障:调用未定义函数cache_users()报错
解决WordPress站点
cache_users()未定义报错问题 报错详情
Uncaught Error: Call to undefined function cache_users() in /www/wwwroot/beavers-auto.com/wp-includes/class-wp-user-query.php:843 Stack trace: #0 /www/wwwroot/beavers-auto.com/wp-includes/class-wp-user-query.php(79): WP_User_Query->query() #1 /www/wwwroot/beavers-auto.com/wp-includes/user.php(763): WP_User_Query->__construct() #2 /www/wwwroot/beavers-auto.com/wp-content/plugins/stm-post-type/stm-post-type.php(281): get_users() #3 /www/wwwroot/beavers-auto.com/wp-settings.php(447): include_once('...') #4 /www/wwwroot/beavers-auto.com/wp-config.php(84): require_once('...') #5 /www/wwwroot/beavers-auto.com/wp-load.php(50): require_once('...') #6 /www/wwwroot/beavers-auto.com/wp-blog-header.php(13): require_once('...') #7 /www/wwwroot/beavers-auto.com/index.php(17): require('...') #8 {main} thrown in /www/wwwroot/beavers-auto.com/wp-includes/class-wp-user-query.php on line 843
排查与解决步骤
修复WordPress核心文件
cache_users()是WordPress核心函数,默认位于wp-includes/user.php中。出现该报错大概率是核心文件损坏或缺失此函数。下载与当前站点版本匹配的WordPress压缩包,解压后将wp-admin和wp-includes文件夹上传至服务器覆盖原文件(注意保留wp-content目录和wp-config.php文件,避免丢失数据与配置)。禁用冲突插件
从报错堆栈可知,问题由stm-post-type插件调用get_users()触发。通过FTP或主机管理面板,将wp-content/plugins/stm-post-type文件夹重命名为stm-post-type-disabled,禁用该插件后检查站点是否恢复正常。若恢复,说明插件与当前WordPress版本不兼容,需更新插件或替换功能相近的插件。排查提前调用的代码
检查主题的functions.php或其他自定义代码,是否在WordPress核心函数完全加载前就调用了get_users()。这类提前调用会导致核心函数未定义,需调整代码加载时机(比如将相关代码放在init钩子之后执行)。验证PHP版本兼容性
确认服务器PHP版本符合当前WordPress及插件的要求。过高或过低的PHP版本可能导致函数加载异常,建议切换到WordPress官方推荐的PHP版本(如7.4、8.0或8.1)。
内容的提问来源于stack exchange,提问作者White Stars
相关产品推荐
相关产品推荐

