単純なフォームなのにsubmitしたら404! Not found! WHY!? ということがままあるので(正確にはやらかすので…)メモしときます。
状況
問題があるようには思えないフォームで、特に手掛かりもなく404になる。
Wordpressのプラグインでも、テーマファイルへの直書きでも、formがGETでもPOSTでも関係なし。
なお、ここで言う404は、サーバ(apacheとか)が出力するものではなくて、Wordpressのテーマが出力するやつです。
WordPressの予約語をname値に使ってはいけない
自前で作る関数名などに使えない、いわゆる「予約語」がWordpressにもあって、これをマズイところで使ってしまうとおかしな挙動になります。
参考:関数リファレンス/register taxonomy – WordPress Codex 日本語版
Codexではカスタムタクソノミーなどのスラッグに使うと「何のヒントも説明も無しに 404 エラーを返します。」なんだけど、
フォーム部品のname値に使っても何のヒントも説明も無しに404です。
個人的に罠っぽいなと思うものを抜粋。
- attachment
- author
- author_name
- day
- fields
- hour
- minute
- name
- order
- second
- type
- year
気を付けよ~!!!