WordPressオリジナルテーマで固定ページにContact From7を作成する方法


WordPressでオリジナルテーマを作成していると、固定ページにコンタクトフォームを組み込むニーズがよくあります。この記事では、人気のプラグイン「Contact Form 7」を使い、固定ページ用のテンプレートを作成する方法を分かりやすく解説します。


必要な準備

  1. WordPress環境
    すでにWordPressがインストールされており、オリジナルテーマが有効化されている必要があります。
  2. 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:固定ページの作成

  1. WordPress管理画面にログインします。
  2. 固定ページ > 新規追加 に移動します。
  3. ページタイトルを「お問い合わせ」と入力し、右側のテンプレートセクションで「Contact」を選択します。
  4. ページを公開します。

手順3:フォームの設定

  1. Contact Form 7の設定画面に移動します。
  2. 必要なフィールドを設定し、フォームIDを確認します。
  3. 上記コード内の 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 );

引数の説明

  1. $hook_name (必須)
    • フィルターフックの名前を指定します。
    • 例: 'the_content', 'widget_text' など。
  2. $value (必須)
    • フィルタリングされる値です。
    • コールバック関数によって加工される可能性があります。
  3. ...$additional_parameters (任意)
    • フィルターフックに渡したい追加の引数を指定します。
    • これらはコールバック関数で利用できます。

動作の流れ

  1. フィルターフックの定義
    • WordPressやテーマ、プラグインがあらかじめ用意したフィルターフックにより、特定の動作を変更可能です。
  2. コールバック関数の登録
    • add_filter() 関数を使用して、フィルターフックにコールバック関数を登録します。
  3. 値の加工
    • 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コードを生成します。
  • ショートコードの実行結果が最終的に返され、画面に表示されます。

メリット

  • 柔軟性の向上: 開発者はテーマやプラグインの動作をカスタマイズ可能。
  • 再利用性: フィルターを利用することで、複数の部分で一貫した処理が実現。

注意点

  1. パフォーマンス
    • フィルターフックに過剰な数のコールバック関数を登録すると、処理速度が低下する可能性があります。
  2. コールバック関数の適切な設計
    • フィルターに登録する関数は、期待される値の形式を守るよう設計してください。

apply_filters() はWordPressの拡張性を支える重要な関数であり、テーマやプラグイン開発では頻繁に利用されます。この仕組みを活用することで、動的で柔軟なカスタマイズが可能になります。

✪ 画像素材がないものはランダムで表示されるようになっています。フリー素材などでご用意ください。

おすすめChromeプラグイン一覧

プラグイン名特徴
GoFullPageウェブページ全体のスクリーンショットを簡単に取得できるブラウザ拡張機能です。
ColorZilla色を抽出するための拡張機能です。
WhatFontウェブページ上のフォントの情報を簡単に確認できるブラウザ拡張機能です。
PerfectPixelデザイナーが作成したデザインと実際にコーディングされたウェブページがどの程度一致しているかを確認・調整するためのブラウザ拡張機能です。

模写の手順

ステップ内容
ステップ 1構図を手書きか全画面スクショ(Go full page等)した後、ペイントツールで四角で囲い、大まかなclass,命名規則をあらかじめ決める。
ステップ 2HTMLの基本構造を作成する
ステップ 3CSSでレイアウトを模写する
ステップ 4 中級〜JavaScriptを追加して動きを再現する
ステップ 5最終調整を行い、検証ツールやPerfectPixel(chromeプラグイン)などで完成を確認する。