WordPress
更新日 : 2022年5月13日
投稿日 : 2017年3月1日

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

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

こんにちわ、PHPエンジニアのエンジニア婦人(@naho_osada)です。
PHPエンジニアとして9年~の経験があります。

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

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

input typeのnameの名称

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

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

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

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

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

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

原因は「name=”name”」

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

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

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

まとめ

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

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

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

PR

※本サイトはアフィリエイトプログラムを利用して商品を紹介しています。