本記事は執筆時点(2023年11月24日)の情報をベースにしております。掲載している情報が最新ではない可能性がありますので何卒ご容赦ください。
テーマファイル(PHPファイル)内でコンタクトフォーム7を呼び出すことは可能?
ワードプレスのプラグイン「Contact Form 7 (コンタクトフォーム7)」は簡単にメールフォームを作成できることで人気のプラグインです。
Contact Form 7の基本的な使い方については、こちらのページをご覧ください。
ワードプレスでメールフォームを設置する方法【Contact Form 7の使い方】
ワードプレスのプラグイン「Contact Form 7」を使用してお問い合わせなどのメールフォームを作成する方法を説明します。フォームに必要なパーツを直感操作で設置でき、ページにショートコードで貼り付けるだけで簡単にサイトにメールフォームが実装できます...【もっと読む】
メールフォームの設置方法は生成されたショートコードを固定ページや投稿ページ内に貼り付けるというものですが、サイト制作を行っているとテーマファイル(PHPファイル)にフォームを埋め込みたい場合もあります。
(例えば、footer.phpに埋め込んで全てのページのフッターに共通のフォームを設置したい場合など)
しかし、固定ページや投稿ページと同じような感覚で、テーマファイル(PHPファイル)内にコンタクトフォーム7のショートコードをそのまま記述しても、フォームを呼び出すことはできません。
テーマファイル内では関数を使ってショートコードを呼び出す
ワードプレスのテーマファイル(PHPファイル)内にショートコードを埋め込みたい時は、「apply_shortcodes」もしくは「do_shortcode」のどちらかの関数を使って呼び出します。
(Contact Form7の公式サイトでは「apply_shortcodes」を使用する方法が紹介されています。
次のように関数を使ってコンタクトフォーム7のショートコードを貼り付ければ呼び出すことができます。
実際には下記のように記述します。
テーマファイルの編集はサイトに重大なエラーを引き起こす恐れがあります。バックアップを取るなどしたうえで自己責任で編集してください。
PHP
/*テーマファイル内*/ <?php echo apply_shortcodes( '[contact-form-7 id="1234" title="お問い合わせフォーム"]' ); ?> /*もしくは*/ <?php echo do_shortcode('[contact-form-7 id="1234" title="お問い合わせフォーム"]'); ?>
ひと手間加わりますが、テーマファイル内でもコンタクトフォーム7を呼び出すことができるのでとても便利です。
まとめ
以上が、コンタクトフォーム7のショートコードをテーマファイル内に埋め込む方法です。
テーマファイル内に埋め込めればサイト内のどこにでもフォームを設置することができますので、是非活用してみてください。