'POST', 'callback' => [$this, 'save'], 'permission_callback' => static fn(): bool => is_user_logged_in(), 'args' => [ 'mode' => [ 'type' => 'string', 'enum' => UI_Mode::MODES, 'required' => true, ], ], ]); } /** * POST /ui-mode. * * @param WP_REST_Request $request Request. * @return WP_REST_Response|WP_Error */ public function save(WP_REST_Request $request) { $stored = UI_Mode::set((string) $request->get_param('mode')); if (null === $stored) { return new WP_Error('thinkrank_ui_mode_invalid', __('Unknown mode.', 'thinkrank'), ['status' => 400]); } return new WP_REST_Response([ 'success' => true, 'data' => ['mode' => $stored], ], 200); } }