Редирект в WordPress (REST API)
Здравствуйтe. Есть плагин обратной связи для WordPress «MetForm», который отправляет форму без перезагрузки страницы (через REST API) по данному маршруту:
/wp-json/metform/v1/entries/insert/
Как сделать редирект текущей страницы, если идёт POST-запрос к данному маршруту?
Т.е. работать это должно следующим образом:
- Вы находитесь на странице
example.com/contactс формой обратной связи. - Вы заполняете поля и нажимаете «Отправить».
- Вас редиректит на страницу
example.com/success
Задам глупый вопрос. Это нельзя реализовать через RewriteRule? Если нет, то, может быть, есть какие-то хуки, которые помогут реализовать данный редирект?
ОБНОВЛЕНО. Делал разные попытки, но результат один и тот же: происходит редирект самого роута, а не страницы с формой: https://i.imgur.com/BaYqMRi.png
Т.е. вместо example.com/contact -> example.com/success происходит /wp-json/metform/v1/entries/insert/ -> /success
Ответы (1 шт):
В методе обработки REST запроса \WP_REST_Server::respond_to_request есть фильтр
$response = apply_filters( 'rest_request_after_callbacks', $response, $handler, $request );
Он выполняется после того, как плагин выполнил все действия по обработке формы.
Можно попробовать подключить свой хук к этому фильтру, проанализировать в нём response, убедиться, что он идёт от нужного вам плагина и формы, и вызвать в нём wp_safe_redirect и exit.