steampunk heart
雑記

WPFormsが文字化けして発狂した話

WPForms

WordPressでホームページの作成を頼まれてメールフォームを設置しようとしたら、サーバーのPHPのバージョンが古くて(7.3系)Contact form7が使えなかったのでMW WP Formを設置したらGmailがスパム扱いして一生メールを届けてくれないのでWPForms Liteというプラグインを導入したら文字化けして発狂した話です。

文字化け

文字化けしとるなー

タイトルと本文は無事ですが、フォームで入力した項目だけ化け化けしております。
プラグイン「WP Multibyte Patch」の導入とかwpmp-config.phpの追加をしたりWPForms Liteの自動返信メールのテンプレートをプレーンなものにしたりあれこれ試しながら何度もテストメールを送信し、送信しすぎてメールが詰まって届かなくなり、あらゆるメールアドレスを駆使してテストメールを送信しまくった結果……

.htaccess

.htaccessの「php_flag mbstring.encoding_translation On」の記述をOffにしたら解消しました。
ONにしとかないと文字化けするテーマとかもあるんで、複数のサイトを同一のサーバーで運用している都合上コンパネからサーバーの設定を一括で変えるわけにはいかず……。
わかってしまえば超単純な話ですが、フォームの入力項目の受取りでだけ文字化けする(しかも別のメールフォームでは文字化けしない)とか「なんでやねん!壊れとるんか?」という気持ちが強く、解消まで時間がかかりました……トホホ

WPForms自体はシンプルかつ直感的に使用することができ気に入りました。
Lite版だとかなり制限があり、ドドドシンプルなフォームしか作成できませんが、最低限の機能は備わっています。(カレンダーから日付を入力する機能くらい無料でも使わせて欲しかった……)

ちなみにMW WP Formを設置したらGmailがスパム扱いして一生メールを届けてくれない問題はWP Mail SMTPというプラグインを導入してGoogleのAPIを取得して設定すると解消されますが、たくさんのサイトを運営している場合やメールの送受信に使用するGoogleアカウントの管理権限を持ってるのが自分じゃない場合ハイパーめんどくさいので積極的におすすめはできません。