['POST'], 'args' => [ 'nonce' => [ 'validate_callback' => function ($value) { return wp_verify_nonce($value, 'wp_rest'); }, 'required' => true ], ], 'callback' => [$this, 'useLegacy'], 'permission_callback' => function () { return PermissionCheck::hasPermission(true); } ] ]); } /** * Restore the old system. */ public function useLegacy() { $redirect = LegacyFallback::restore(); if (!$redirect) { return new \WP_Error('no_legacy_system', 'There is no legacy system to go back to on this site.', [ 'status' => 404 ]); } return [ 'status' => 'success', 'redirect' => $redirect, ]; } }