携帯からのメールフォーム文字化け対策

ずっと対応しなきゃと思っていたのだが、ようやくできた。

V-M-SサイトにはプラグインContact Form 7」をつかったメール送信フォームをいくつか設置していて、問い合わせ受付やイベント開催等に活用している。
この際に悩ましかったのは、携帯電話からアクセスされた場合もこのフォームは利用できるのだが、送信されたメールが文字化けしてしまう、という問題であった。
#幸い(?)、Webメール経由でメール本文を読むことが出来るので、なんとかそれでしのいできてはいたのだが、早急に何とかしなきゃ…とは思っていた。

携帯電話からのアクセスに対応するプラグインとして「Ktai Style」を使用していて、同じ悩みを抱えた方がフォーラムで質問し、「Ktai Style」を開発されたYurikoさんが答えている、この記事でのやりとりを参考にした。
携帯から利用できるコンタクトフォームを教えてください | WordPress.org

結局

(Ktai Style の is_ktai() 関数を使えばいけそう)

ということで…使ったらいけた。

is_ktai()関数を他プラグインで使用する際の手順については、Ktai StyleのドキュメントWordPress Plugins/JSeries » Ktai Style サイト設定とテンプレートの改造の「他のプラグインとの連携」に詳しい。
こちらを参考に、Contact Form 7(wp-contact-form-7.php)に下記を追加した。

#710行あたり

// Ktai ONLY
if (preg_match('/^(?:text|textarea)[*]?$/', $type) && function_exists('is_ktai') && is_ktai())
    $_POST[$name] = mb_convert_encoding($_POST[$name], get_bloginfo('charset') ,"SJIS");

問題は…バージョンアップの際に忘れないようにしなきゃだわ、なのだが。
このあたりの作法を実は意外としらなかったりする(汗)