雨ときどき晴れ

最近は C# や Blazor やってます。Raspberry Pi で Node-RED も活用できるようになりました。

WP Contact Form III を日本語で使えるようにしてみた。

WordPressプラグインには「WP Contact Form III」という
簡単にお問い合わせページを作成してくれるものがある。


使い方は、本文中に[contactform]と入力すればOK


ただ、このプラグインは全て英語表記。
ボクとしては、項目名とか日本語がイイです。


ということで、今回は「WP Contact Form III」を日本語化して、
日本語で普通に使えるようにするまでを書いてみます。

日本語化したContactForm

設定するページにアクセスできない。。。

日本語化する前に問題が発生。
それは、WordPressの管理ページの「設定」→「ContactForm」にアクセスしようとしたところ
「このページにアクセスするための十分なアクセス権がありません」
と表示されてしまった。。。


で、この対応としては、

  • 編集するファイル:/wordpress/wp-content/plugins/wp-contactform-iii/wp-contactform-iii.php

295行目くらい

add_action('admin_head', 'wpcf_add_options_page');

の部分を

add_action('admin_menu', 'wpcf_add_options_page');

に変更することでアクセスできるようになりました。

項目名などの表記を日本語にする。

WordPressでお問合せフォームを設置するプラグイン | WordPress & Business メモ
上記のページにて「cfiii-ja.mo」というファイルをダウンロードしてください。
これを
/wordpress/wp-content/plugins/wp-contactform-iii/languages/
にコピーするだけです。

ContactFormからのメールが文字化けするので、その対応。

設置したContactFormから試しに送信してみたところ、
「件名」と「送信元」の日本語が文字化けしていました。


そのため、対応として、

  • /wordpress/wp-content/plugins/wp-contactform-iii/wp-contactform-iii.php

173行目くらい

$headers .= "From: $name <$email>\n";

の部分を

$headers .= "From: ".mb_encode_mimeheader($name)." <$email>\n";

に変更する。


181行目くらい

mail($recipient, $subject, $fullmsg, $headers);

の部分を

mail($recipient, mb_encode_mimeheader($subject), $fullmsg, $headers);

に変更すれば完了です。


以上で設定は完了です。
WordPressプラグインが豊富で便利なんですが
日本語環境で使用するためにはちょっといじる必要があるため大変ですね。
まあ、プラグインがあるだけでもとても助かりますけどね。