解決】Contact Form 7のselect(ドロップダウンメニュー)に挿入した include_blank が、なぜか「-Please choose an option -」になる
Contact Form 7のselect(ドロップダウンメニュー)に挿入した include_blank が、なぜか「-Please choose an option -」になる環境がありました。
Contact Form 7のどこかのバージョンで、バージョンアップをするとおかしくなるようです。
解決方法としては、
該当のフォームのwp_postmeta の「_locale」が「en_US」になってるのを「ja」に変更
で解消しました。
「Please choose an option」になる原因は、フォームの言語指定が英語になるから
include_blankの表示が、「Please choose an option」になる原因は、フォームの言語指定が英語になるからだそうです。
ドロップダウンメニューのinclude_blankで出力する表記
ただ、そんな設定した覚えもないのですが、出力されたHTMLソースを確認すると確かに
<input type="hidden" name=_wpcf7_locale" value="en_US"/>
と英語指定になってました。
制作者さんの回答は、ワードプレスの言語設定とのことでしたが・・・
制作者さんからの回答は、
どちらのフォームもロケールが English (United States) en_US に設定されているため “-Please choose an option -” が正しい出力となります。
とのことですが、ワードプレスの設定は、「日本語」なので、「en_US」の指定が出てることがおかしいです。
新規のContact Form 7で作ったフォームは日本語
新規で作ったContact Form 7で作ったフォームは日本語で作成されました。
なんだかよくわからないですが、「日本語で作った」という情報が失われてるのかなー・・・と思いました。
Contact Form 7のソースを追うと設定してるところが判ったのでDBを修正
ソースを調べてみると、
\plugins\contact-form-7contact-form.php
で
$this->locale = get_post_meta( $post->ID, '_locale', true );
とwp_postmetaの「_locale」の情報を取得していたので、phpMyAdminから、MySQLのデータの情報を「en_US」になってるのを「ja」修正しました。
ということで無事解決ですが、フォームの数が多い場合は、ちょっとめんどくさいですね・・・。
なんで急に「en_US」になったのかな・・・。