概要
wpcf7_contact_form
アクションは、Contact Form 7 プラグインにおいて、特定のコンタクトフォームのインスタンスが作成された直後に実行されるフックです。このアクションは、フォームが表示される前や、フォームが送信された後の処理を実装する際によく使用されます。以下は、このアクションの具体的な使用例です:
- フォームのフィールドにカスタム属性を追加する
- フォームのバリデーションを拡張する
- フォーム送信後のカスタム処理を行う
- フォームIDに基づく特定のデータ処理
- フォーム表示時のスタイルやスクリプトの読み込み
- フォーム送信データのログを作成する
構文
add_action( 'wpcf7_contact_form', 'my_custom_function' );
パラメータ
wpcf7_contact_form
アクションは以下のパラメータを受け取ります。
$contact_form
(WPCF7_ContactForm): 生成されたコンタクトフォームのインスタンス。
戻り値
このアクション自体は値を返すものではなく、副作用として、他の処理を実行します。
バージョン情報
- Contact Form 7: 5.0以降で使用可能
- WordPress: 4.0以降で使用可能
この関数のアクションでの使用可能性
アクション | 使用例 |
---|---|
mu_plugin_loaded | |
registered_post_type | |
plugins_loaded | |
wp_roles_init | |
setup_theme | |
after_setup_theme | |
set_current_user | |
init | 〇 |
register_sidebar | |
wp_loaded | 〇 |
send_headers | |
parse_query | |
pre_get_posts | |
wp | |
template_redirect | |
get_header | |
wp_head |
サンプルコード
- カスタム属性を追加する
add_action( 'wpcf7_contact_form', 'add_custom_attribute' );
function add_custom_attribute( $contact_form ) {
$form_id = $contact_form->id();
if ( $form_id == 123 ) { // 特定のフォームに適用
// フィールドにカスタム属性を追加
}
}
このコードは、特定のコンタクトフォームにカスタム属性を追加する例です。
引用元: https://contactform7.com/
- カスタムバリデーションを追加する
add_action( 'wpcf7_contact_form', 'custom_validation', 10, 1 );
function custom_validation( $contact_form ) {
add_filter( 'wpcf7_validate_text', 'my_custom_text_validation', 10, 2 );
}
function my_custom_text_validation( $result, $tags ) {
// カスタムバリデーションロジック
return $result;
}
このコードは、テキストフィールドのカスタムバリデーションを追加する例です。
引用元: https://contactform7.com/
- 送信後のカスタム処理を実行する
add_action( 'wpcf7_contact_form', 'after_submission_actions', 10, 1 );
function after_submission_actions( $contact_form ) {
// フォームが送信された後のカスタム処理
}
このコードは、コンタクトフォームが送信された後にカスタム処理を実行する例です。
引用元: https://contactform7.com/
- 特定のフォームIDに基づく処理
add_action( 'wpcf7_contact_form', 'form_specific_actions' );
function form_specific_actions( $contact_form ) {
if ( $contact_form->id() === 456 ) {
// 特定のIDを持つフォーム用の処理
}
}
このコードは、特定のフォームIDに基づくカスタム処理を行う例です。
引用元: https://contactform7.com/
- フォームCSS/JSを読み込む
add_action( 'wpcf7_contact_form', 'enqueue_form_scripts' );
function enqueue_form_scripts( $contact_form ) {
wp_enqueue_style( 'custom-form-styles', get_template_directory_uri() . '/css/custom-form.css' );
wp_enqueue_script( 'custom-form-script', get_template_directory_uri() . '/js/custom-form.js', array('jquery'), null, true );
}
このコードは、Contact Form 7 のフォーム用に CSS と JS を読み込む例です。
引用元: https://contactform7.com/