У меня проблема с моей страницей. Я пытаюсь создать страницу "Свяжитесь с нами". Он отлично работает в плане дизайна. Но когда я пытаюсь отправить форму на ту же страницу, что и оригинал. Возвращает ошибку 404.
Это происходит только когда я отправляю форму. Я пробовал оба с GET и POST запросами. Ничто не похоже на работу.
Я даже закомментировал часть PHPMailer. Это вызвано исключительно дополнительными переменными.
Если это что-то помогает, это «имя», «электронная почта» и «сообщение».
$_POST
данные действительно не должны влиять на то, найдена страница или нет.Ответы:
Префикс все , особенно ваши переменные. Используемые вами имена используются WordPress для внутреннего использования (см. Форму комментария), поэтому WordPress может попытаться что-то сделать с вашими значениями формы. Если это не удастся, вы получите ошибку.
Хотя
$_GET
проблемы обычно довольно легко отлаживать,$_POST
а$_REQUEST
имена не так просты.Следующий список, вероятно, не полный. Но его голая длина подсказывает нам урок:
Избегайте любого имени, которое вы можете найти в словаре. Префикс ваших имен форм.
Список зарезервированных имен в
$_POST
и$_REQUEST
используемых WordPress 3.5Эти имена могут иметь побочные эффекты при использовании в темах или плагинах. Некоторые используются только на определенных страницах (
removeheader
), другие - на нескольких страницах или запросах. Избегайте их всех, если можете.Имена переменных
источник
В качестве альтернативы вы можете опубликовать его в WP и обработать его в functions.php.
Для формы:
И включите скрытый ввод, который сообщает WP, с какой функцией вы будете его обрабатывать:
Напишите функцию в functions.php:
Скажите WP, что это за функция:
источник