Contact Form 7 Datepickerをお使いの方はご注意を

Contact Form 7 Datepickerに非推奨なクラスと関数があります

Contact Form 7 DatePicker

この記事はContact Form 7 ver.4.7とContact Form 7 Datepicker ver.2.6.0に関するものです。

WordPessにフォームを表示させようとする時、最初に思い浮かぶのはContact Form 7だと思います。
使い勝手が良い上に、設定からカスタマイズ、トラブルシューティングの情報を集め易いので、幅広い層に使われています。
また機能を拡張するプラグインが多いのも便利です。

よく使われているContact Form 7の機能拡張プラグインの1つに Contact Form 7 Datepickerが有ります。
jQuery UI の日付ピッカーを使用して、表示されたカレンダーの日付をクリックする事で日付フィールドに日付を挿入させるプラグインです。
html5になり、Google ChromeやOperaなど対応しているブラウザではinput要素のtype属性がdateの箇所にブラウザ独自の日付ピッカーが表示されるのですが、IEやFirefox、Safariなどでの対応が進んでいないので、まだ暫くは必要な拡張プラグインです。
Contact Form 7の最新バージョンはver.4.7Contact Form 7 Datepickerはver.2.6.0ですが、
のこバージョンの組み合わせでも、Wordpressをデバッグモードで運用していると

PHP Notice: WPCF7_Shortcode の使用は Contact Form 7 バージョン 4.6 から非推奨になっています! 代わりに WPCF7_FormTag を使ってください。 in /path-to/plugins/contact-form-7/includes/functions.php on line 357

PHP Notice: wpcf7_remove_shortcode の使用は Contact Form 7 バージョン 4.6 から非推奨になっています! 代わりに wpcf7_remove_form_tag を使ってください。 in /path-to/plugins/contact-form-7/includes/functions.php on line 357

と警告が出ます。
Contact Form 7 Datepickerに非推奨のクラスや関数が使われている様です。

WPCF7_Shortcode に関しては、「Contact Form 7」サイトの「Contact Form 7 4.6」リリース情報に、

WPCF7_Shortcode クラスは廃止予定につき使用非推奨になります。カスタムコードで WPCF7_Shortcode を使用している場合は WPCF7_FormTag に変更してください。

と書かれています。

そして次のクラスと関数が廃止予定なので、代替のクラスと関数に置き換える様にとの事。

廃止予定 代替
WPCF7_Shortcode WPCF7_FormTag
WPCF7_ShortcodeManager WPCF7_FormTagsManager
wpcf7_add_shortcode() wpcf7_add_form_tag()
wpcf7_scan_shortcode() wpcf7_scan_form_tags()

 

wpcf7_remove_shortcode について書かれたものはないのですが、PHP Notice から wpcf7_remove_form_tag に置き換えてやる必要が有ります。

PHP Notice では plugins / contact-form-7 / includes/functions.php on line 357WPCF7_Shortcodewpcf7_remove_shortcode が使われている様になっていますが、実際はincludeされた Contact Form 7 Datepicker ver.2.6.0 のコード内のものに警告が出ている筈ですので、調べてみると、

WPCF7_Shortcodeplugins / contact-form-7-datepicker / modules / datetime.php 25〜26行

plugins / contact-form-7-datepicker / modules / date.php 31〜32行

に有るので、

と置き換えてやります。

wpcf7_remove_shortcodeplugins / contact-form-7-datepicker / modules / date.php 145〜153行

にあるので、

と置き換えてやります。

これで警告は出なくなります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です