アイコン エンジニア婦人ノート | PHPなどのプログラミングをするときの困った!を助ける情報サイト

普段は気にしないWordPressのname属性に注意

2017/3/1 10:32(更新日 2022/5/13 16:48)

これはWordPressを触り始めた頃の話です。

当時、とりあえずフォームを作って、WordPressにくっつけてみようと思って作っていました。通常のPHPフォームなら絶対にありえないことが、WordPressと同時に動かそうとしたことで、はまってしまったことがありました。

PR

input typeのnameの名称

名前、内容、メールアドレス入力して送信、みたいな簡易的なものです。

そこで、どうしても確認画面へPOSTできないという事象にハマりました。
他の値はすんなりいくのに。

問題のinputボックスはこちらです。

<input type="text" name="name" value="" />

一見、普通のinputボックス。実際、入力ボックスとしては何も問題はありません。ちゃんと機能しています。

しかしWordpressが絡むとおかしくなる…なぜでしょう。

原因は「name="name"」

Wordpress内でnameは予約語になっているので、使用できない

「テスト用だからとりあえずなんでもいいよね」、と適当に決めたのがいけなかったそうです。
プログラム何も悪くありませんでした。

通常のフォームでしたら問題なく動きます。

まとめ

  • WordPressでname属性の名称を決めるとき、安直に「name」としてはいけない

PHPでWordPressのカスタマイズを始めたばかりで、追加機能を実装しようとしたら起こり得ることでした。

WordPressに限らず、もしよくわからないことでハマってしまったら、もしかして機能の予約語に使われていないか?と疑ってみてください。

関連記事