['POST'], 'args' => [ 'nonce' => [ 'validate_callback' => function ($value) { return wp_verify_nonce($value, 'wp_rest'); }, 'required' => true ], ], 'callback' => [$this, 'startSession'], 'permission_callback' => function () { return PermissionCheck::hasPermission(); } ] ]); } /** * Start editor session */ public function startSession() { // Request token $result = ApiRequest::post("/request-editor-session"); // Handle errors if (is_a($result, 'WP_Error')) { return $result; } return $result; } }