WordPressでオリジナルテーマを作成していると、固定ページにコンタクトフォームを組み込むニーズがよくあります。この記事では、人気のプラグイン「Contact Form 7」を使い、固定ページ用のテンプレートを作成する方法を分かりやすく解説します。
必要な準備
- WordPress環境
すでにWordPressがインストールされており、オリジナルテーマが有効化されている必要があります。 - Contact Form 7プラグイン
プラグインをインストールし、基本的な設定を完了しておきます。
手順1:固定ページ用テンプレートの作成
WordPressのテーマディレクトリ内に、新しいPHPファイルを作成します。ここでは template-contact.php
という名前にします。
次に、以下のコードを記述します:
<!--
Template Name: Contact
-->
<?php get_header(); ?>
<main>
<div class="contact-bg">
<?php echo apply_filters('the_content', '[contact-form-7 id="1234567" title="コンタクトフォーム"]'); ?>
</div>
</main>
<?php get_footer(); ?>
コードの解説
Template Name: Contact
固定ページ編集画面でこのテンプレートを選択できるようになります。get_header()
とget_footer()
ヘッダーとフッターの共通部分を読み込みます。apply_filters
でContact Form 7を表示
ショートコード[contact-form-7 id="1234567" title="コンタクトフォーム"]
を通じてフォームを表示します。
注意:ショートコード内のIDは自身の設定に合わせて変更してください。
手順2:固定ページの作成
- WordPress管理画面にログインします。
- 固定ページ > 新規追加 に移動します。
- ページタイトルを「お問い合わせ」と入力し、右側のテンプレートセクションで「Contact」を選択します。
- ページを公開します。
手順3:フォームの設定
- Contact Form 7の設定画面に移動します。
- 必要なフィールドを設定し、フォームIDを確認します。
- 上記コード内の
id="1234567"
を正しいフォームIDに置き換えます。
まとめ
これで、WordPressのオリジナルテーマに固定ページを作成し、Contact Form 7でコンタクトフォームを表示する方法が完成です。オリジナルテーマを活用して、よりプロフェッショナルなサイトを構築しましょう。
関連リンク:
Contact Form 7公式サイト
WordPressオリジナルテーマの作成方法
Contact Form 7で使えるタグ完全解説
apply_filters()
の解説
WordPressの関数 apply_filters()
は、特定のフィルターフックに関連付けられたコールバック関数を実行し、その結果を返すために使用されます。この関数を使用することで、テーマやプラグインの機能を柔軟にカスタマイズできます。
基本的な構文
$content = apply_filters( 'the_content', $original_content );
引数の説明
$hook_name
(必須)- フィルターフックの名前を指定します。
- 例:
'the_content'
,'widget_text'
など。
$value
(必須)- フィルタリングされる値です。
- コールバック関数によって加工される可能性があります。
...$additional_parameters
(任意)- フィルターフックに渡したい追加の引数を指定します。
- これらはコールバック関数で利用できます。
動作の流れ
- フィルターフックの定義
- WordPressやテーマ、プラグインがあらかじめ用意したフィルターフックにより、特定の動作を変更可能です。
- コールバック関数の登録
add_filter()
関数を使用して、フィルターフックにコールバック関数を登録します。
- 値の加工
apply_filters()
を呼び出すと、登録されたコールバック関数が実行され、結果が加工された値として返されます。
使用例
フィルターフックの基本例
以下は the_content
フィルターを適用する例です。このフィルターは、投稿内容を表示する際に適用されます。
$content = apply_filters( 'the_content', $original_content );
フィルターフックの登録
フィルターフックに関数を登録して、投稿内容に変更を加えます。
function add_custom_text_to_content( $content ) {
return $content . '<p>カスタムテキストが追加されました。</p>';
}
add_filter( 'the_content', 'add_custom_text_to_content' );
これにより、投稿内容の最後に「カスタムテキスト」が追加されます。
apply_filters()
と Contact Form 7 の例
apply_filters()
を使って Contact Form 7 のショートコードを実行し、フォームを表示する例です。
echo apply_filters( 'the_content', '[contact-form-7 id="123" title="お問い合わせフォーム"]' );
the_content
フィルターフック はショートコードを解析し、実際のHTMLコードを生成します。- ショートコードの実行結果が最終的に返され、画面に表示されます。
メリット
- 柔軟性の向上: 開発者はテーマやプラグインの動作をカスタマイズ可能。
- 再利用性: フィルターを利用することで、複数の部分で一貫した処理が実現。
注意点
- パフォーマンス
- フィルターフックに過剰な数のコールバック関数を登録すると、処理速度が低下する可能性があります。
- コールバック関数の適切な設計
- フィルターに登録する関数は、期待される値の形式を守るよう設計してください。
apply_filters()
はWordPressの拡張性を支える重要な関数であり、テーマやプラグイン開発では頻繁に利用されます。この仕組みを活用することで、動的で柔軟なカスタマイズが可能になります。