最近在使用API时,我发现以使用者密钥为用户名、使用者密码为密码的身份验证标头是否存在且有效,这将当前用户全局设置为匹配的用户。
我发现core执行REST路由,直到调用current\\u user\\u can,此时如果标头丢失或无效,则当前用户ID为0,并且作为“current user cant”,这会阻止进一步处理请求。
看看您的解决方案,不需要定义$user,因为WC\\u API\\u Authentication::authenticate()方法未使用它。
如果这修复了您的代码,则表明您尚未注册REST路由(/wp-json/wc/v1/my-route),并且已经自己定义了请求的自定义处理。
您可能希望查看“woocommerce\\u api\\u endpoints”过滤器。