Contact Form 7 4.9

This page is also available in English.

Contact Form 7 4.9 を公開しました。ログインしているユーザーのためのコンタクトフォームをお持ちなら、新しく導入された購読者限定モードがきっと役に立つでしょう。4.9 ではさらに新規追加のフィルターフックや DOM イベントを使ってより柔軟にコンタクトフォームを操作することができます。以前のバージョンで見られたバグの修正も含まれています。今すぐ 4.9 にアップグレードしましょう。


購読者限定モード

ログインしているユーザーだけがコンタクトフォームの送信を行えるようにしたい場合があるかもしれません。そういう時は購読者限定モードを使いましょう。このモードでは、ログインしていないユーザーはコンタクトフォームの送信ができず、代わりにログインが必要だというメッセージを見ることになります。一方、ログインしているユーザーは通常どおり使うことができます。

購読者限定モードを使うには、その他の設定タブパネルを開いて入力項目に次の一行を追加します:

subscribers_only: true

購読者限定モードのコンタクトフォームでは対スパム検証は行われません。信頼できるユーザーだけが利用できるようになっているはずだからです。この前提があなたのサイトで成り立たないなら、購読者限定モードは諦めたほうがいいでしょう。

デフォルトでノンスなし

ノンス (nonce) とはランダム生成された文字列でセキュリティ関連の用途で使われるものです。Contact Form 7 はノンスの検証を行うことで、送信されたデータが正しくコンタクトフォームから送られたものでスパマーによる偽造ではないことを確認します。

WPCF7_VERIFY_NONCE 定数によってノンスの検証を行うかどうか設定することができます。以前はデフォルトで有効に設定されていましたが、Contact Form 7 4.9 においてデフォルトで無効に変更されました。これは、誰でも送信できる一般に公開されたコンタクトフォームではノンスに期待できる効果はどのみち限定的だということと、好ましくない副作用が見られる場合があったからというのが理由です。

WPCF7_VERIFY_NONCE 定数を明示的に true に設定すれば引き続きノンスを利用できます。または、新しい wpcf7_verify_nonce フィルターフックを利用して次のように指定することも可能です:

add_filter( 'wpcf7_verify_nonce', '__return_true' );

購読者限定モードが機能するためにはノンスが必要になるので注意してください。そのため購読者限定モードのコンタクトフォームにおいては WPCF7_VERIFY_NONCE 定数の値に関係なくノンスが使われます。

必要バージョン: WordPress 4.7 以上
テスト済み: WordPress 4.8.1 まで

» WordPress.org から Contact Form 7 プラグインをダウンロード

変更点

  • subscribers_only 設定をサポート
  • WPCF7_VERIFY_NONCE のデフォルト値を false に変更
  • WPCF7_FormTagsManager::collect_tag_types()invert オプションをサポート
  • 新しく追加されたフィルターフック: wpcf7_verify_noncewpcf7_subscribers_only_noticewpcf7_remote_ip_addrwpcf7_submission_is_blacklisted
  • 修正済み: フォームタグの tabindex オプションが 0 や負の整数を受け入れなかった問題
  • ラジオボタンのグループでどのオプションもチェックされなかった場合に検証エラーを表示
  • 設定検証: 廃止予定の設定 (on_sent_ok と on_submit) の使用に対する検証エラーを追加
  • WPCF7_ContactForm::submit()WPCF7_Submission::get_instance() 関数のパラメターを介して skip_mail オプションを渡すことが可能に。
  • wpcf7beforesubmit カスタム DOM イベントを追加。イベントハンドラーを介して formData オブジェクトの操作が可能に。