wordpressで「変数の不一致が見つかりました。」が出たときはフィールドの名称を変更すると良い

要約
wordpressで「変数の不一致が見つかりました。」が出たときはフィールドの名称を変更すると良い

環境
WordPress 5.1.1
Ultimate Member 2.0.43

やりたいこと
ultimate memberの登録フォームにgetの引数をhiddenで渡したい

まずは以下の公式ページのサンプルを見て実装
https://docs.ultimatemember.com/article/128-add-a-hidden-field-to-your-register-form

しかし
冒頭のエラー「変数の不一致が見つかりました。」が表示される。
最初は、ultimate memberのCSRF対策のせいかと思った。
しかし、どうやらwordpressの仕様らしい。

5.0から仕様が変わったようです。

今回の場合は、システム予約の名称でなくてもquery_varsとpostのnameが同じだと怒られました。

2019/05/15追記
wordpressはGETの引数は全てグローバル変数として定義されるので名前が衝突していたのだと思います。
接頭辞をつけて自前の引数だとわかるようにしていたほうが良い気がします。
以下のサイトを参考にしました。ありがとうございます。
WordPressで「URLクエリ文字列(?key=xxx)」の定義と値の受け渡し検証

ps
みなさまお元気?
徳原です。
なんだか最近ずっと忙しいです。

消費税はこのまま制度があやふやなまま進むとSEが大量辞職しそう。
ただでさえ人手不足なのでどうか延期してほしい。
安倍首相、おねがいします。

Leave a Comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です