プリマネットのデザイナー梶原です。
WordPressのプラグインが正常に動作しなかったことがあったので、備忘録を含め同じような状況で困っている初心者の方の参考になれば・・・という記事になります。
使用したプラグイン
WordPressでお問い合わせフォームを作る場合Contact Form 7を使っている方は結構多いかと思います。当社で制作するサイトのほとんどでもContact Form 7を使っています。
以前、制作中のサイトのフォームに選択肢を付けたいという依頼があり、Contact Form 7に条件分岐を追加できるブラグインConditional Fields for Contact Form 7を使用しました。
フォームを完成させ、テストサーバでメール送受信の確認をしていただきO Kとなりなりましたが、クライアントが新サーバへ移行するタイミングだったため、移行後に公開することになり、作業は一時中断となりました。
ちょうど年末年始を挟んでしまい、2ヶ月以上中断しのちに再開の連絡がありました。テーマは完成していたので、本番サーバにアップロードし、WordPressを設定するのみでしたから、何ら問題はなく納品できる予定でした。 しかし、Contact Form 7とConditional Fields for Contact Form 7をインストールし、テストの時と同様に設定にしましたが、Conditional Fields for Contact Form 7の条件分岐が設定通りに動作してくれません。
よくある原因や対処法
テストの時は正常に動作していたのにありえないっ!と思いましたが、まず似たような状況がないか調べてみました。すると下記のような原因や対処法が出てきましたがよく見かけるものばかりでした。
- wp_head(); やwp_footer();が入っていない
- 使用しているプラグインを一つずつ停止してみる
- WordPressのバージョンとプラグインの互換性
しかし、うっかりミスでwp_footer();を消してしまっていた・・・
なんてこともあり得ますので、一応ひとつずつ確認してみます。
- は問題なく
- に関しては、制作中のテーマではこの2つ以外にプラグインを使用していないので、他が影響している可能性はありません。
- は、プラグインをインストールする時にも確認していますし問題ありません。
他に原因がないのかさらに調べてみますが、該当するような記事が見つかりませんでした。
他に疑ってみたところ
テストサーバでは問題ないのに、本番サーバでは正常に動作しない・・・
テストと本番でどこか違うところがあるはずだと思い、違いがある可能性がある箇所を調べ始めます。
すると、テストサーバと本番サーバでプラグインのバージョンが違うところを発見!Conditional Fields for Contact Form 7は同じバージョンでしたが、Contact Form 7は、テストサーバが5.3で、本番サーバは5.4となっています。
これは怪しいと思い、調べて見るとこのページにたどり着きました。
私は英語が苦手ですが、バグがあるような感じの内容であることは分かったので、翻訳してみるとこんな感じでした。
Contact Form 7の条件フィールドは、現在のバージョンのContact Form 7ではテストされていません。フォームに問題がある場合は、Contact Form 7のバージョンを5.3にロールバックしてください。
書かれている通り、本番サーバのバージョンを5.4から5.3にしてみると、正常に動作するようになりました。
作業が中断している間にContact Form 7のバージョンが上がってしまい、本番サーバにインストールしたものは5.4。しかし、Conditional Fields for Contact Form 7は、まだそのバージョンに対応していなかった、というのが原因でした。(2021年2月時点)
まとめ
今回のアクシデントはまれなケースかと思いますが、プラグインが正常に動作してくれない時、特に元プラグインと機能追加プラグインの作者が違う場合などは、プラグインのレビューなども確認してみると良いかもしれません。
プラグインのレビューは下記より確認できます。
WordPress.ORG日本語版
※日本語版ですが、英語のコメントはそのままなので、分からない人は翻訳してください。
よく使うプラグインは、定期的に、最新バージョンや最終更新日、リース情報などを確認することも必要ですね。
プリマネットでは、WordPressを使ったホームページを制作しています。
中小企業様や新規開業する方のためにリーズナブルな費用でご提供しています。