にっきー
WordPressが5.3にアップデートしたタイミングで、多くのプラグインもアップデートしました。
このように、WordPressがアップデートされるときは、プラグインも新しいバージョンに合わせて少し変化するというのが、「WordPressあるある」です。
にっきーはプラグインアップデートがある場合、基本的に更新しています。しかし今回、アップデートをしたことでエラーが出てしまうプラグインがありました。
それが、「お問い合わせフォーム」を作ってくれることで定評のある「Contact Form7(コンタクトフォームセブン)」でした。
Google Adsenseの審査通過を狙う人にとっても欠かせないプラグインが「Contact Form 7」です。そのため、このアップデードで「何が起きているんだ…」っていう状態に陥った人もいるのではないでしょうか。
そこで今回は、なぜエラーが起きてしまったのか。そして、そのエラーにはどう対処していけばいいのかを、やり方の紹介つきで説明していきます。
にっきー
Contact Form 7がアップデートでエラー?!
Contact Form7のエラーって?
にっきーも実際に直面した「Contact Form7の謎エラー」。
プラグインをアップデートした直後に、「お問い合わせ」の項目がこんな感じになりました。
アドさん
にっきー
このエラー表示の正体を探るべく、「コンタクトフォーム」を開いてみると…「設定エラー」という言葉が出ていました。
なんじゃこりゃぁああああ!!!
一度きちんと設定したはずのプラグインに、このようなエラーが出ていたら、正直焦りますよね。
もう一段階進んでみると、エラーが「メール」という項目の中にあることが分かりました。
この「メール」のタブを開くと、特に何もエラー表示がない。
「なんだ?問題ないじゃないか」と思って空欄のまま保存をしようとすると…このような「!」だらけの状態になってしまいました。
どうしてエラーが出たの?
もともと、エラーが出ている項目は、一番最初に設定したときに入力済みの項目です。
おそらく今回のアップデートで、設定していた情報が吹っ飛んでしまったのではないかと疑っています。
設定自体は簡単なので、再びやっていきましょう。
Contact Form7 エラーの対処方法
何を入力すればいい?
フォームを埋めるとこのような感じになります。
以下はあくまでも一例ですが、悩む人はこの通りに入力してもらえればokです!
- 送信先
〇〇〇〇@〇〇〇〇.〇〇(問い合わせ内容が届いて欲しい自分のメールアドレス) - 送信元
[your-name] <wordpress@自分の独自ドメイン> - 題名
自分のブログ名 “[your-subject]” - 追加ヘッダー
Reply-To: [your-email] - メッセージ本文
差出人: [your-name] <[your-email]>
題名: [your-subject]メッセージ本文:
[your-message]–
このメールは 【〇〇(ブログ名)】 (https://ブログURL) のお問い合わせフォームから送信されました
にっきー
これを入力して保存しただけでは、エラーは消えません。
すごく細かいことですが、エラーを消したことを「検証」する必要があります。
エラーの修正を検証
入力し終えたら、フォームの上の方に出ている「Contact Form7の設定を検証する」という青い文字をクリックしてください。
これをクリックすると、このような画面に変わります。
「1個のコンタクトフォームを検証する」をクリックしてください。
正しく設定が完了している場合は、緑の線が入った帯が表示され、「エラーはなかったよ!」と教えてくれます。
ここまで終えてようやく、左のバーからエラー表示の赤い「❶」の数字が消えてくれます。
めでたしめでたし。
ついでにやっておきたい設定(1)送信者への確認メール
余力がある人はこの機会に「メール(2)」で、「お問い合わせフォームから連絡をした人に対して、任意でメッセージを送れるよ」というものも設定して起きましょう。
「お問い合わせを送信した人に対して、正しく送れたかどうかも連絡しないのって、不親切じゃない?」っていう考えもあるので、問い合わせをした人に対しての自動メッセージを設定しておくとより親切です。
にっきー
入力はこんな感じです。
メール(2)はこれです。
このチェックボックスにチェックを入れると、同じようなフォームが追加で表示されます。
- 送信先
[your-email] - 送信元
ブログ名(もしくは管理人名)<〇〇@〇〇〇〇.〇〇(知られてもいい自分のメールアドレス)> - 題名
「お問い合わせありがとうございました」など、自動返信メールだとわかるタイトル - 追加ヘッダー
Reply-To: 〇〇@〇〇〇〇.〇〇(自分のメールアドレス) - メッセージ本文
メッセージ本文:
[your-message]–
このメールは ブログ名(https://ブログのURL) のお問い合わせフォームから送信されました
この自動返信を入力した場合も、念のため検証をしておきましょう。
ついでにやっておきたい設定(2)スパム対策
スパム対策として、日本語が一切入っていない問い合わせを弾く、というソースコードを導入しておくことができます。
お問い合わせは基本的に日本語が必ず入るはずなので、日本語以外の言語のみで構成されているものは、弾いてくれるというコードを入れることで、スパム対策の役割をしてくれます。
やり方は簡単!
以下のコードを「外観」→「テーマの編集」で「functions.php」に追記するだけです。
//メールフォームの textarea にひらがなが無ければ送信できない(contact form7)
add_filter('wpcf7_validate_textarea', 'wpcf7_validation_textarea_hiragana', 10, 2);
add_filter('wpcf7_validate_textarea*', 'wpcf7_validation_textarea_hiragana', 10, 2);
function wpcf7_validation_textarea_hiragana($result, $tag)
{
$name = $tag['name'];
$value = (isset($_POST[$name])) ? (string) $_POST[$name] : '';
if ($value !== '' && !preg_match('/[ぁ-ん]/u', $value)) {
$result['valid'] = false;
$result['reason'] = array($name => 'エラー / この内容は送信できません。');
}
return $result;
}
「ソースコードをfunctions.phpに追加する」ということ自体の意味が分からない人は、やめておいたほうがいいです。
分かる人だけにお勧めしておきます。
にっきー
まとめ
今回は、お問い合わせフォームを簡単に作成してくれるプラグイン「Contact Form 7」を導入している人で、WordPress5.3に合わせたアップデートをしたらなぜかエラーになってしまった!という人に向けて、対処法を紹介しました。
にっきー
エラー表示が出てくるとビビってしまいますが、1つずつ対処していけば、たいていのエラーは解決できます。
にっきーのブログ講座では、このような細かいことでも相談に乗って、ブログ収益化をサポートしています。
ブログを稼げるものにしたい人や、アドバイスやサポートをご希望の人は、メルマガ返信で質問を受け付けているので、よかったら活用してみてください!