Ошибка 404 при отправке формы на сайте с WordPress

Если при отправке формы вы получаете ошибку 404, при этом если у вас чистая версия WordPress, вы ничего не делали с настройками firewall, а также не ограничивали обработку POST запросов к сайту, то, скорее всего, причина этому в использовании служебных слов при отправке данных формы.

В WordPress есть список зарезервированных имен переменных, которые приведут к запуску внутренних обработчиков WordPress и получению ошибки 404, если не будут выполнены их условия. Поэтому для собственных форм лучше добавлять префиксы и не использовать чистые названия переменных, например, name, email и т.п.

Список зарезервированных слов следующий:

  • attachment
  • attachment_id
  • author
  • author_name
  • calendar
  • cat
  • category
  • category__and
  • category__in
  • category__not_in
  • category_name
  • comments_per_page
  • comments_popup
  • custom
  • customize_messenger_channel
  • customized
  • cpage
  • day
  • debug
  • embed
  • error
  • exact
  • feed
  • hour
  • link_category
  • m
  • minute
  • monthnum
  • more
  • name
  • nav_menu
  • nonce
  • nopaging
  • offset
  • order
  • orderby
  • p
  • page
  • page_id
  • paged
  • pagename
  • pb
  • perm
  • post
  • post__in
  • post__not_in
  • post_format
  • post_mime_type
  • post_status
  • post_tag
  • post_type
  • posts
  • posts_per_archive_page
  • posts_per_page
  • preview
  • robots
  • s
  • search
  • second
  • sentence
  • showposts
  • static
  • subpost
  • subpost_id
  • tag
  • tag__and
  • tag__in
  • tag__not_in
  • tag_id
  • tag_slug__and
  • tag_slug__in
  • taxonomy
  • tb
  • term
  • terms
  • theme
  • title
  • type
  • w
  • withcomments
  • withoutcomments
  • year