Steamer Lane Studio技術備忘録WordPress

WordPressにmail form proを搭載する

wordpress WordPressにmail form proを搭載する
最終更新日: 2023年12月10日

wordpressでフォームと言えばプラグイン「contact form7」使用の方が多いようですが、当スタジオではフリーCGIツールの「mail form pro」を利用しています。
WordPressにmail form proを搭載するプラグインは楽で良いのですがWordpressのバージョンにphpのバージョンなどにより、サイトリニューアル時など正常稼働しないケースもあり、特に無償のプラグインは開発終了などの憂き目に遭うこともあるので、プラグイン以外を利用する方がリスクヘッジ的にベターと考えます。
ネット上ではWordpressサイトにmail form proの搭載方が解らないというものを少なからず見受けます。
ここでは簡単に搭載方を書いてみます。
※CGI本体の設置方法は割愛します。

テンプレートに直接記述
一番間違いが無いのがこの方法でしょう。
カテゴリー・アーカイヴテンプレートにカテゴリーでの条件分岐で記述、ページIDでの条件分岐でページテンプレートに記述するのもありです。
フォーム部分のみ別にphpファイルを作り、includeやショートコードなどで呼び出すことも可能。ショートコードは固定ページで作成の際でとなりますが、ショートコード使用のコードをfunction.phpに記述してあることが前提です。

固定ページに直接記述
これは前提としてWordpressによる自動成形を無効化する必要があります。自動成形機能が働くと<p>タグ囲みとなりコードになりません。
固定ページ全てを無効化すると他の固定ページ挿入で不自由になるので、選択制にするコードをfunction.phpに記述しておきます。これでフォームを使用したページ作成時は自動成形をOffに、他の通常のページ作成時はOnにして投稿が可能になります。
自動成形機能がoffになると、通常のコーディング同様に固定ページに記述して使用が可能となります。

フリーCGIで人気のmail form proはカート機能やアンケート集計機能などもありとても便利なツールとなっています。
昔と違い最近のサーバーは皆CGIがどこのディレクトリでも動くのが当たり前となっています、プラグインに依存しないフォーム作成ツールというメリットが設置手間のデメリットを上回るものと考えます。
WordpressにこのCGIフォーム設置を検討し悩んでいる方の参考になればと思います。