WordPressのプラグイン、「Contact Form7 」。申込みフォームをつくるのに使っています。その「Contact Form7 」で日時を選べるプラグインの「Contact Form7 DatePicker」がWordPress(のPHPバージョン)をアップデートすると、機能しなくなってしまいました。
ただ、今は使えるようになっています。今回、わたしがやってみた解決策をまとめてみました。
「Contact Form7」で日付が選べない…
このブログ、HPにも申し込みフォームを置いています。
必要最低限の項目だけ入力していただき申込みをしていただくと、自動返信メールが届き、決済までしていただくことができます。
この仕事の流れに欠かせないWordPressのプラグインが「Contact Form7」です。
「Contact Form7」にはアドオンのプラグインがいくつかありますが、そのうちの1つが「Contact Form7 DatePicker」。日時を入力するのではなく、写真のように選んでもらうことができます。
ところが先日、申し込みフォームを見ると、日付選択の部分が表示されなくなっていたのです。
WordPressのPHPの更新で、今まで使えていたPHPの機能がバージョンアップでなくなってしまったのが原因です。
…/home/uemura/gou-blog.com/public_html/wp-blog-header.php(19): require_once(‘/home/uemura/go…’) #31 /home/uemura/gou-blog.com/public_html/index.php(17): require(‘/home/uemura/go…’) #32 {main} thrown in /home/uemura/gou-blog.com/public_html/wp-content/plugins/contact-form-7-datepicker/datetimepicker.php on line 197
さらにこのプラグイン、PHP更新に対応したアップデートがされていないのです。つまり開発が終わっているということ。ネットで検索してもプラグインのダウンロードページもありません。
すると、このプラグインはもう使えないということになります…。
日付と時間を設定できるかどうか?
じゃあ、代わりのプラグインはあるか?日時の設定ができるプラグインがあればそれを使えばいいわけです。
プラグインを検索すると似たようなプラグインはあるのですが、
日付だけの設定で、時間まで設定できるものは見つからず。(探し方が悪いかもしれませんが)
欲しいのは、希望時間まで設定できる機能です。
となると、選択肢としてはPHPのバージョンを利用できるバージョンに戻すか、今のプラグインを使うために別の選択肢を考えるか。
そこでやってみたのはChatGPTに聞いてみることです。
ChatGPTに聞いてみたらプラグインが使えるように
ChatGPTのいいところは、エラーを入れれば、人では対応できないスピードで打開策を見いだせるところです。
エラーメッセージをコピーして、貼り付けてみると、回答が出てきました。
この「致命的エラーの未定義」を見ると、PHPの更新で一部のコード(create _functionの定義)が削除されてしまったために、エラーになってしまったことがわかります。そのエラーに対処すれば、今まで通りに使える可能性も出てきました。
これまでプラグインのコードを書き換えるという発想はなかったですが、ChatGPTを使ってじぶんで対処できる道が見えてきたということです。
ということで。回答の中にある「/home/uemura/gou-blog.com/public_html/wp-content/plugins/contact-form-7-datepicker/datetimepicker.php」から、Filezilaを使ってプラグインのフォルダにある「datetimepicker.php」のファイルを開いて、197行目のコードを書き換えてみましょう。(事前の保存をしておくのをおすすめします。)
検索して、置換えをすればいいのですが、検索しても該当がない、197行目がわからないという場合は、phpファイルの中身をCtrl+Aですべてを選択してコピー、ChatGPTに貼り付けても大丈夫です。
すると、書き直した状態でコードを回答してくれます。
このコードをコピーして「datetimepicker.php」のファイルのデータをそっくりそのまま入れ替えてみましょう。
ここまでやってプラグインを有効化すると、元通りにフォームに日付を表示できるようになっていました。すばらしいです。
これまで同じようなことがあったときには、別のプラグインを探したり、別のやり方を模索していましたが、やはり時間もかかります。
ただ、ChatGPTを使うことで確実に悩む時間は減らせますし、トラブルの時間も短縮できます。
じぶんでやればITにも強くなれます。プラグインをじぶんで更新できるわけですから。
ということで、WordPressのプラグインにエラーがあった場合の対処方法として参考にしていただけるとうれしいです。
【編集後記】
昨日はオフ。朝は新アイテムを受け取ってからスタバに行ってブログ。その後に知多の佐布里池に写真撮影に。ただ気温が高くて鳥や動物をほとんど目にすることなく。夕方、名古屋駅に買い物に行っていた妻と長女(15)を駅で拾って帰りました。夜はサッカー合宿に行っていた長男(9)のお迎え。三ケ日みかんのゼリーをおみやげに買ってきてくれました。
【昨日の1日1新】
※「1日1新」→詳細はコチラ
とあるアイテム
佐布里池