※弊社記事はたぶんにPRが含まれますので
話半分で受け取ってください。

Contact Form 7 2.0用の携帯対応モジュール – その2

「Contact Form 7 2.0」で使える携帯(というかKtai Styleというか)対応のモジュールの「その2」です。「Contact Form 7」のフォームを携帯から利用すると、フォームに入力した日本語が文字化けしてしまうのですが、このモジュールを入れれば(多くの場合)文字化けしなくなります。
 「その2」では、挙動がおかしかったチェックボックスの処理を修正しました。

 手っ取り早く対応させたい方は、以下にあるモジュールをダウンロードして、解凍して、「Contact Form 7」プラグインのmodulesディレクトリに放り込んでください。旧Ver. からのバージョンアップは上書きで結構。

ダウンロード

これまでのあらすじ

 「Contact Form 7(以下、CF7)」のフォームは携帯から利用するとメールが文字化けする。また、CF7 Ver.2.0になったらCF7の中身ががらっと変わってモジュール対応になっていた。だから、文字化けを解消するモジュールを作ってみた。
 でも、チェックボックスはなぜか正常に機能してなかった。原因はよく分からないし、めんどくさいので放置する事にした。

 というのがこれまでのあらすじなのですが、やっぱりチェックボックスだけちゃんと動かないのは気持ちが悪いし、使えた方が個人的にも便利なので、原因を追及してみる事にしました。

 で、あーだこーだ調べて至った結論は、

「global $Ktai_Style;を入れる場所を間違えていた」

でした。KtaiStyleとCF7のコンフリクトとか疑ってマジごめんなさい。反省します。死にます。

言い訳

 ktai.phpの処理の中身は、(いろいろ事情があって)チェックボックスの処理とそれ以外のinputの処理の2つに分かれているわけです。そして、両方とも処理を実行するのに$Ktai_Styleというグローバル変数が必要なのですが、チェックボックスの処理の方はこのグローバル変数がちゃんと渡っておらず、そのためにチェックボックスだけ正常に機能しない状態になっていました。

 で、なんでそんな事になってたかというと、個人的にチェックボックスの処理はまったく重要項目ではなかったので、最初は対応すらしてなかったのですが、いろいろ検索してたらチェックボックスの処理が出てきたので、とりあえず突っ込んでみたんですよねぇ。まあ、動かなくても自分は別に困らないしあっても困らんだろう的なノリで。そんな感じで、後から突っ込んだので、全体の流れに目がいってなかったという言い訳。
 まあでも、ちゃんと動くようになったし、結果オーライという事で!許してにゃんはげ!

追記

2009/12/03

 携帯からContact Form 7のフォームを利用しても文字化けしない、Ktai Style Ver. 1.80がリリースされました。 これでやっとこのモジュールは御役御免ですね。

関連する記事