You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决WordPress中WP_User_Query::query调用错误?

WordPress WP_User_Query 调用错误解决方法

Notice: Function WP_User_Query::query was called incorrectly. User queries should not be run before the plugins_loaded hook. Please see Debugging in WordPress for more information. (This message was added in version 6.1.1.) in /home3/middls9t/xyz.com/wp-includes/functions.php on line 5835

这个提示的核心问题是WP_User_Query::query()函数被过早调用——WordPress明确要求用户查询操作必须在plugins_loaded钩子执行完成后再运行,不能在该钩子触发前执行相关查询。

解决步骤:

  • 定位问题代码:找到主题或插件中直接调用WP_User_Query或其query()方法的代码段。这类代码通常出现在主题functions.php开头、插件主文件顶部,没有绑定到任何WordPress钩子上。
  • 延迟查询执行:将用户查询代码包裹到钩子回调函数中,确保在plugins_loaded之后运行。推荐使用init钩子(此时WordPress环境初始化更完整),示例如下:
    // 错误写法:直接在文件顶部执行查询
    $user_query = new WP_User_Query( $args );
    $users = $user_query->get_results();
    
    // 正确写法:绑定到init钩子延迟执行
    add_action( 'init', 'run_custom_user_query' );
    function run_custom_user_query() {
        $args = array(
            // 填写你的查询参数,比如role、search等
        );
        $user_query = new WP_User_Query( $args );
        $users = $user_query->get_results();
        // 在这里处理查询结果
    }
    
  • 排查第三方工具:如果是第三方主题或插件引发的错误,先禁用所有插件,逐个启用排查;或切换到WordPress默认主题(如Twenty Twenty-Four)确认问题来源。若为第三方工具问题,可等待开发者更新,或通过自定义插件覆盖其逻辑(不建议直接修改第三方文件,避免更新后丢失修改)。
  • 临时隐藏提示(不推荐):若只是想暂时屏蔽通知,可在wp-config.php中设置WP_DEBUG为false,但这只是掩盖问题,无法从根源解决:
    define( 'WP_DEBUG', false );
    

内容的提问来源于stack exchange,提问作者Ashish

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 19:45:39