小编Fil*_*pit的帖子

WordPress API 权限回调 - 检查用户是否已登录

在使用 WP Rest API 时,我有一个关于权限回调的问题。我已经使用 register_rest_route 注册了几个端点,只是想保护它们,以便在您未登录时无法访问内容。

add_action('rest_api_init', 'register_custom_endpoints');

function register_custom_endpoints(){
    register_rest_route($base, $endpoint, [
        'methods' => 'POST',
        'callback' => function($request){
            // Return JSON data
        },
        'permission_callback' => function($request){
            // This always returns false
            return is_user_logged_in();
        },
    ]);
}
Run Code Online (Sandbox Code Playgroud)

我认为我的逻辑是正确的,但is_user_logged_in()总是返回 false,这意味着即使我实际登录我也永远不会得到数据。我得到的只是 404 响应:

{code: "rest_user_invalid_id", message: "Invalid user ID.", data: {status: 404}}
Run Code Online (Sandbox Code Playgroud)

我一直在网上搜索答案,我发现我需要随请求发送一个随机数。我试过将它作为正文数据和标题发送。如果我在正文中发送它,我无法验证它,因为它总是返回 false。如果我将它作为标头发送,我会得到与上述相同的 404 响应。

我在这里错过了什么,我做错了什么?

php wordpress

5
推荐指数
1
解决办法
5488
查看次数

标签 统计

php ×1

wordpress ×1