Редирект в WordPress (REST API)

Здравствуйтe. Есть плагин обратной связи для WordPress «MetForm», который отправляет форму без перезагрузки страницы (через REST API) по данному маршруту:

/wp-json/metform/v1/entries/insert/

Как сделать редирект текущей страницы, если идёт POST-запрос к данному маршруту?

Т.е. работать это должно следующим образом:

  1. Вы находитесь на странице example.com/contact с формой обратной связи.
  2. Вы заполняете поля и нажимаете «Отправить».
  3. Вас редиректит на страницу example.com/success

Задам глупый вопрос. Это нельзя реализовать через RewriteRule? Если нет, то, может быть, есть какие-то хуки, которые помогут реализовать данный редирект?

ОБНОВЛЕНО. Делал разные попытки, но результат один и тот же: происходит редирект самого роута, а не страницы с формой: https://i.imgur.com/BaYqMRi.png

Т.е. вместо example.com/contact -> example.com/success происходит /wp-json/metform/v1/entries/insert/ -> /success


Ответы (1 шт):

Автор решения: KAGG Design

В методе обработки REST запроса \WP_REST_Server::respond_to_request есть фильтр

$response = apply_filters( 'rest_request_after_callbacks', $response, $handler, $request );

Он выполняется после того, как плагин выполнил все действия по обработке формы.

Можно попробовать подключить свой хук к этому фильтру, проанализировать в нём response, убедиться, что он идёт от нужного вам плагина и формы, и вызвать в нём wp_safe_redirect и exit.

→ Ссылка