@skeevy
Frontend WebDev

Wordpress: собственный обработчик POST-запросов?

Доброго времени суток.
Имеется сайт на WP.
В нем используется обработчик почты (заявок) по методу POST.
Форма выглядит примерно так:
<form method="post" action="../blog/handlers/contact-url.php" id="analysis-callback" class="form-callback">
</form>

в обработчике стоит редирект на страницу благодарности, но при отправке формы, он переходит на contact-url.php (в обработчик).

Вопрос в чем: есть ли в вп собственный обработчик POST-запросов и как мне заставить работать мою форму с обработчиком?
Заранее спасибо

UPD: совет от MrTimon сработал, пока мне этого достаточно. Большое спасибо всем откликнувшимся!
  • Вопрос задан
  • 3483 просмотра
Решения вопроса 2
@MrTimon
По аналогии с аяксом.
Отправляеш форму на урл admin-post.php?action=some/action

ну или параметр action можн в форму вписать как hidden поле

и юзаеш action admin_post
add_action( 'admin_post_some/action',    'some_action_post_callback' );
function some_action_post_callback() {
//do something with form data and redirect to url
}
Ответ написан
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
1. Аякс не обязателен в вашем случае.
2. Использовать совет MrTimon тем более не стоит (хотя этот метод является правильным).

В вашей ситуации наиболее простым и адекватным решением будет по старинке постить форму саму на себя (на текущий урл), хукаться в init и выполнять необходимые действия.

UPDATE: В комментариях обсуждение и детали.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
xakplant
@xakplant
Автор сайта xakplant.ru
Вот вам простая и понятная инструкция -> "Обработка POST-запросов в WordPress или куда слать..."
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы