['POST'], 'args' => [ 'type' => [ 'required' => false, 'type' => "string" ], 'nonce' => [ 'validate_callback' => function ($value) { return wp_verify_nonce($value, 'wp_rest'); }, 'required' => true ], ], 'callback' => [$this, 'getGraph'], 'permission_callback' => function () { return PermissionCheck::hasPermission(); } ] ]); } /** * Sync data */ public function getGraph($request) { $type = $request->get_param('type', 'weekly'); $timezone = $request->get_param('timezone', 'site'); // Sync data $result = ApiRequest::post("/analytics/overview?type=" . $type . "&timezone=" . $timezone); // Handle errors if (is_a($result, 'WP_Error')) { return $result; } return [ 'status' => 'success', 'data' => $result ]; } }