Почему страница возвращает 404 с переменными POST?

У меня проблема с моей страницей. Я пытаюсь создать страницу «Свяжитесь с нами». Она отлично работает в плане дизайна. Но когда я пытаюсь отправить форму на ту же страницу, то вижу ошибку 404.

Это происходит только когда я отправляю форму. Я пробовал оба с GET и POST запросами.

Я даже закомментировал часть PHPMailer. Это вызвано исключительно дополнительными переменными.

Понравился вопрос? Нужен ответ? Поддержите проект
WPAsk
Ответов: 2
  1. D. Dan

    Попробуйте этот пример

    Для формы:

    action="<?php echo esc_url( admin_url('admin-post.php') ); ?>"
    

    И включите скрытый ввод, который сообщает WP имя функции, с которой вы будете его обрабатывать:

    <input type="hidden" name="action" value="my_contact_form">
    

    functions.php:

    function my_contact_form_func(){
    
        if ( ! empty( $_POST ) ) {
            // ...
        }
    }
    

    И последнее:

    add_action( 'admin_post_nopriv_my_contact_form', 'my_contact_form_func' );
    add_action( 'admin_post_my_contact_form', 'my_contact_form_func' );
    
  2. s_ha_dum

    Данные $ _POST действительно не должны влиять на то, найдена страница или нет.

Добавить ответ

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: