タナビーの高梨です。
いつも利用しているWordPressのプラグインであるsnow monkey formsのフォーム設定ができなくなるという事象が発生しました。
現象および原因、対処について備忘録として記事にしておきます。
WordPressおすすめ本
WordPressデザインレシピ集
本書はWordPressの入門から上級テクニックまで、幅広く網羅した決定版。初心者でもスムーズに学習できる構成となっており、経験者にも新たな発見が待っています。豊富なノウハウと実例を詳細に解説しているため、WordPressの真髄を深く理解できます。WordPressの可能性を最大限に引き出したい方に、おすすめできる一冊です。
現象
いつものようにsnow monkey formsで名前、メールなどの入力項目を設定し、いったん保存。
しばらく別のページを作ったりした後に、再度snow monkey formsに戻り、右上の「フォーム設定を開く」ボタンでフォーム設定入力エリアを表示。
管理者宛てメールアドレスや件名、BODYなどを設定して右上から「更新」。
特にエラー表示されることもなくシレっと更新されました。
ところが、いざ該当のフォームを利用した問い合わせページを表示し、試しに名前等の項目をすべて入力して送信ボタンを押すと、「管理者宛のメールが送信できませんでした」というメッセージが表示されます。
当然実際にメールは送信されていないようで、いつまでたっても受信できませんでした。
おかしいと思って再度snow monkey formsのページを開いたところ、管理者宛てメールアドレスや件名、その他入力したはずのすべてが空白になっています。
改めて入力しなおして更新し、いったんダッシュボードに抜けてから再度snow monkey formsに戻ると、やはり真っ白で保存されていません!
デバッグモードをオンにしてみてもエラーが出ているわけではなさそうです。
原因
何かおかしなところはないだろうか、と、snow monkey formsの編集ページをくまなく見ていたところ、下のほうに表示されているこのエリアに、何だか見覚えのある文面が表示されています。
「内容を確認して送信する」
これ、一番最初に送信ボタンのラベル名を変更した際に入力した文面です。
なるほど、フォームの設定はカスタムフィールドに保存されるのか。
だったら、それっぽいところを探して直接カスタムフィールドに入れていけばよいのかな?
「administrator_email_to」という項目が見つかりました。
管理者宛てメールアドレスっぽいです。
直接ここに入力していったん更新、再度開いてみたところ、ちゃんと設定されていました!
ということは、カスタムフィールドに直接入れていけばよいのだな、と思ったのですが、よく考えたらそもそもカスタムフィールドが表示されているのがまずいのかも。
そういえば最初に送信ボタンのラベルを入力した際にはカスタムフィールドは表示させておらず、そのあと他の作業をしているときにカスタムフィールド表示を設定した覚えがあります。
そこで、カスタムフィールドを非表示にし、各種設定、保存したところ、ちゃんと保存されました!
原因はカスタムフィールドを表示していたことのようです。
対処
ということで、snow monkey formsでフォームの設定する際はカスタムフィールドを表示しないようにしましょう。
これって、もしかして裏でカスタムフィールドを利用している場合はsnow monkey forms以外でも起こりうることなのでしょうか??