Web制作時のお問い合わせフォームはブロックエディタで編集できるSnow Monkey Formsを重宝しています。
そのままでも簡易のお問い合わせフォームとしてはすぐに設置できて便利なのですが、カスタマイズしようとするとフックの使用は避けられません。
そこでSnow Monkey Formsに用意されているアクションフック・フィルターフックを調査してみました。
Snow Monkey Formsのフィルターフック・アクションフックのデータの一覧
コードを調査した結果、現在、Snow Monkey Formsで用意されているフックは23個でした。
フック名 | ファイルの場所 |
---|---|
snow_monkey_forms/complete/message | wp-content/plugins/snow-monkey-forms/App/Controller/Complete.php |
snow_monkey_forms/system_error/message | wp-content/plugins/snow-monkey-forms/App/Controller/SystemError.php |
snow_monkey_forms/administrator_mailer/skip | wp-content/plugins/snow-monkey-forms/App/Model/AdministratorMailer.php |
snow_monkey_forms/administrator_mailer/is_sended | wp-content/plugins/snow-monkey-forms/App/Model/AdministratorMailer.php |
snow_monkey_forms/administrator_mailer/after_send | wp-content/plugins/snow-monkey-forms/App/Model/AdministratorMailer.php |
snow_monkey_forms/administrator_mailer/headers | wp-content/plugins/snow-monkey-forms/App/Model/AdministratorMailer.php |
snow_monkey_forms/administrator_mailer/args | wp-content/plugins/snow-monkey-forms/App/Model/AdministratorMailer.php |
snow_monkey_forms/auto_reply_mailer/skip | wp-content/plugins/snow-monkey-forms/App/Model/AutoReplyMailer.php |
snow_monkey_forms/auto_reply_mailer/is_sended | wp-content/plugins/snow-monkey-forms/App/Model/AutoReplyMailer.php |
snow_monkey_forms/auto_reply_mailer/after_send | wp-content/plugins/snow-monkey-forms/App/Model/AutoReplyMailer.php |
snow_monkey_forms/auto_reply_mailer/headers | wp-content/plugins/snow-monkey-forms/App/Model/AutoReplyMailer.php |
snow_monkey_forms/auto_reply_mailer/args | wp-content/plugins/snow-monkey-forms/App/Model/AutoReplyMailer.php |
snow_monkey_forms/saved_files/survival_time | wp-content/plugins/snow-monkey-forms/App/Model/Directory.php |
snow_monkey_forms/mailer/headers | wp-content/plugins/snow-monkey-forms/App/Model/Mailer.php |
snow_monkey_forms/custom_mail_tag | wp-content/plugins/snow-monkey-forms/App/Model/MailParser.php |
snow_monkey_forms/control/attributes | wp-content/plugins/snow-monkey-forms/App/Model/Setting.php |
snow_monkey_forms/checkboxes/options | wp-content/plugins/snow-monkey-forms/App/Model/Setting.php |
snow_monkey_forms/select/options | wp-content/plugins/snow-monkey-forms/App/Model/Setting.php |
snow_monkey_forms/radio_buttons/options | wp-content/plugins/snow-monkey-forms/App/Model/Setting.php |
snow_monkey_forms/validator/error_message | wp-content/plugins/snow-monkey-forms/App/Model/Validator.php |
snow_monkey_forms/spam/validate | wp-content/plugins/snow-monkey-forms/App/Rest/Route/View.php |
snow_monkey_forms/form/append | wp-content/plugins/snow-monkey-forms/App/Service/ReCaptcha/ReCaptcha.php |
snow_monkey_forms/enqueue/fallback_style | wp-content/plugins/snow-monkey-forms/snow-monkey-forms.php |
Snow Monkey Formsのフィルターフック・アクションフックの解説
Snow Monkey Formsのフィルターフック・アクションフックをサンプルコード付きで、それぞれ詳しく解説していきます。
snow_monkey_forms/complete/message
このフックは、Snow Monkey Formsプラグインにおいて、フォーム送信完了後に表示されるメッセージをカスタマイズするために使用されます。
解説
フォーム送信後にユーザーに表示される完了メッセージは、デフォルトではフォームの設定で指定されたものが使用されます。
しかし、このフックを使用することで、プログラム側から動的にメッセージを変更することが可能になります。
例えば、送信されたフォームの内容に応じて、異なる完了メッセージを表示したい場合などに便利です。
パラメータ
$message
(string): 完了メッセージの内容。$responser
(object): フォームの送信結果を含むレスポンサーオブジェクト。$setting
(object): フォームの設定情報を含む設定オブジェクト。
// フォーム送信完了時のメッセージをカスタマイズする
add_filter( 'snow_monkey_forms/complete/message', function( $message, $responser, $setting ) {
// 特定の条件に基づいてメッセージを変更
if ( $responser->get( 'your_custom_field' ) === '特定の値' ) {
$message = 'カスタムメッセージを表示します。';
}
return $message;
}, 10, 3 );
snow_monkey_forms/system_error/message
このフックは、Snow Monkey Formsプラグインにおいて、システムエラーが発生した際に表示されるエラーメッセージをカスタマイズするために使用されます。
解説:
フォームの送信処理中にシステムエラーが発生した場合、ユーザーにはエラーメッセージが表示されます。このフックを使用することで、エラーメッセージの内容を動的に変更することができます。
例えば、エラーの種類に応じて異なるメッセージを表示したい場合や、特定の条件下でのみカスタムメッセージを表示したい場合などに便利です。
パラメータ:
$message
(string): エラーメッセージの内容。$responser
(object): フォームの送信結果を含むレスポンサーオブジェクト。$setting
(object): フォームの設定情報を含む設定オブジェクト。
// システムエラー発生時のメッセージをカスタマイズする
add_filter( 'snow_monkey_forms/system_error/message', function( $message, $responser, $setting ) {
// 特定のエラーコードに基づいてメッセージを変更
$error_code = $responser->get_error_code();
if ( $error_code === 'custom_error' ) {
$message = 'カスタムエラーメッセージを表示します。';
}
return $message;
}, 10, 3 );
snow_monkey_forms/administrator_mailer/skip
このフックは、Snow Monkey Formsプラグインにおいて、管理者宛のメール送信をスキップするかどうかを制御するために使用されます。
解説:
フォームの送信が成功した際に、通常は設定された管理者メールアドレスに通知メールが送信されます。
しかし、このフックを使用することで、特定の条件下で管理者へのメール送信をスキップすることができます。
例えば、フォームの内容に応じてメール送信を行わない場合や、テスト環境でのメール送信を抑制したい場合などに便利です。
パラメータ:
$skip
(boolean): メール送信をスキップするかどうか。デフォルトはfalse
(送信しない)。$responser
(object): フォームの送信結果を含むレスポンサーオブジェクト。$setting
(object): フォームの設定情報を含む設定オブジェクト。
// 特定の条件下で管理者メールの送信をスキップする
add_filter( 'snow_monkey_forms/administrator_mailer/skip', function( $skip, $responser, $setting ) {
// フォームの入力値に応じて送信をスキップ
if ( $responser->get( 'your_custom_field' ) === '特定の値' ) {
$skip = true;
}
return $skip;
}, 10, 3 );
snow_monkey_forms/administrator_mailer/is_sended
このフックは、Snow Monkey Formsプラグインにおいて、管理者宛のメールが送信されたかどうかの結果をカスタマイズするために使用されます。
解説:
フォームの送信が成功し、管理者へのメール送信が行われた後、その送信結果を確認する際にこのフックが使用されます。送信結果をカスタマイズすることで、特定の条件下で送信失敗として扱いたい場合や、送信結果に応じた追加処理を実行したい場合などに役立ちます。
パラメータ:
$is_sended
(boolean): メールが送信されたかどうかの結果。true
で送信成功、false
で送信失敗。$responser
(object): フォームの送信結果を含むレスポンサーオブジェクト。$setting
(object): フォームの設定情報を含む設定オブジェクト。
// 管理者メールの送信結果をカスタマイズする
add_filter( 'snow_monkey_forms/administrator_mailer/is_sended', function( $is_sended, $responser, $setting ) {
// 特定の条件下で送信失敗として扱う
if ( $responser->get( 'your_custom_field' ) === '特定の値' ) {
$is_sended = false;
}
// 追加の処理を実行
if ( $is_sended ) {
// 送信成功時の処理
} else {
// 送信失敗時の処理
}
return $is_sended;
}, 10, 3 );
snow_monkey_forms/administrator_mailer/after_send
このフックは、Snow Monkey Formsプラグインにおいて、管理者宛のメール送信後に実行されるアクションフックです。
解説:
フォームの送信が成功し、管理者へのメール送信が完了した後、追加の処理を行いたい場合にこのフックを使用します。
例えば、送信結果をログに記録したり、別の通知処理を実行したりする場合などに便利です。
パラメータ:
$is_sended
(boolean): メールが送信されたかどうかの結果。true
で送信成功、false
で送信失敗。$responser
(object): フォームの送信結果を含むレスポンサーオブジェクト。$setting
(object): フォームの設定情報を含む設定オブジェクト。$mail_parser
(object): メール内容の解析を行うMailParserオブジェクト。
// 管理者メール送信後の追加処理
add_action( 'snow_monkey_forms/administrator_mailer/after_send', function( $is_sended, $responser, $setting, $mail_parser ) {
if ( $is_sended ) {
// 送信成功時の処理
// 例: ログに記録
error_log( '管理者メールが送信されました。' );
} else {
// 送信失敗時の処理
// 例: エラーログに記録
error_log( '管理者メールの送信に失敗しました。' );
}
}, 10, 4 );
snow_monkey_forms/administrator_mailer/headers
このフックは、Snow Monkey Formsプラグインにおいて、管理者宛のメール送信時に使用されるヘッダー情報をカスタマイズするために使用されます。
解説:
フォームの送信が成功し、管理者へのメール送信が行われる際に、メールのヘッダー情報を設定することができます。
このフックを使用することで、ヘッダー情報を動的に変更したり、追加のヘッダーを設定したりすることが可能です。
例えば、追加のCCやBCCを設定したい場合や、特定の条件下でヘッダーを変更したい場合などに便利です。
パラメータ:
$headers
(array): メールのヘッダー情報を格納した配列。$responser
(object): フォームの送信結果を含むレスポンサーオブジェクト。$setting
(object): フォームの設定情報を含む設定オブジェクト。
// 管理者メールのヘッダー情報をカスタマイズする
add_filter( 'snow_monkey_forms/administrator_mailer/headers', function( $headers, $responser, $setting ) {
// CCを追加
$headers[] = 'Cc: example@example.com';
// BCCを追加
$headers[] = 'Bcc: example_bcc@example.com';
return $headers;
}, 10, 3 );
snow_monkey_forms/administrator_mailer/args
このフックは、Snow Monkey Formsプラグインにおいて、管理者宛のメール送信時に使用される引数をカスタマイズするために使用されます。
解説:
フォームの送信が成功し、管理者へのメール送信が行われる際に、メールの内容や送信先などを指定する引数を設定します。
このフックを使用することで、引数を動的に変更したり、追加の引数を設定したりすることが可能です。
例えば、送信先のメールアドレスを条件に応じて変更したい場合や、特定の条件下でメールの内容を変更したい場合などに便利です。
パラメータ:
$args
(array): メール送信時に使用される引数を格納した配列。$responser
(object): フォームの送信結果を含むレスポンサーオブジェクト。$setting
(object): フォームの設定情報を含む設定オブジェクト。
// 管理者メールの送信引数をカスタマイズする
add_filter( 'snow_monkey_forms/administrator_mailer/args', function( $args, $responser, $setting ) {
// 送信先メールアドレスを条件に応じて変更
if ( $responser->get( 'your_custom_field' ) === '特定の値' ) {
$args['to'] = 'custom@example.com';
}
// メール本文に追記
$args['body'] .= "\n\n追加のメッセージ";
return $args;
}, 10, 3 );
snow_monkey_forms/auto_reply_mailer/skip
このフックは、Snow Monkey Formsプラグインにおいて、自動返信メールの送信をスキップするかどうかを制御するために使用されます。
解説:
フォームの送信が成功した際に、通常は設定された宛先に自動返信メールが送信されます。
しかし、このフックを使用することで、特定の条件下で自動返信メールの送信をスキップすることができます。
例えば、フォームの内容に応じてメール送信を行わない場合や、テスト環境でのメール送信を抑制したい場合などに便利です。
パラメータ:
$skip
(boolean): メール送信をスキップするかどうか。デフォルトはfalse
(送信しない)。$responser
(object): フォームの送信結果を含むレスポンサーオブジェクト。$setting
(object): フォームの設定情報を含む設定オブジェクト。
// 特定の条件下で自動返信メールの送信をスキップする
add_filter( 'snow_monkey_forms/auto_reply_mailer/skip', function( $skip, $responser, $setting ) {
// フォームの入力値に応じて送信をスキップ
if ( $responser->get( 'your_custom_field' ) === '特定の値' ) {
$skip = true;
}
return $skip;
}, 10, 3 );
snow_monkey_forms/auto_reply_mailer/is_sended
このフックは、Snow Monkey Formsプラグインにおいて、自動返信メールが送信されたかどうかの結果をカスタマイズするために使用されます。
解説:
フォームの送信が成功し、自動返信メールの送信が行われた後、その送信結果を確認する際にこのフックが使用されます。
送信結果をカスタマイズすることで、特定の条件下で送信失敗として扱いたい場合や、送信結果に応じた追加処理を実行したい場合などに役立ちます。
パラメータ:
$is_sended
(boolean): メールが送信されたかどうかの結果。true
で送信成功、false
で送信失敗。$responser
(object): フォームの送信結果を含むレスポンサーオブジェクト。$setting
(object): フォームの設定情報を含む設定オブジェクト。
// 自動返信メールの送信結果をカスタマイズする
add_filter( 'snow_monkey_forms/auto_reply_mailer/is_sended', function( $is_sended, $responser, $setting ) {
// 特定の条件下で送信失敗として扱う
if ( $responser->get( 'your_custom_field' ) === '特定の値' ) {
$is_sended = false;
}
// 追加の処理を実行
if ( $is_sended ) {
// 送信成功時の処理
} else {
// 送信失敗時の処理
}
return $is_sended;
}, 10, 3 );
snow_monkey_forms/auto_reply_mailer/after_send
このフックは、Snow Monkey Formsプラグインにおいて、自動返信メール送信後に実行されるアクションフックです。
解説:
フォームの送信が成功し、自動返信メールの送信が完了した後、追加の処理を行いたい場合にこのフックを使用します。
例えば、送信結果をログに記録したり、別の通知処理を実行したりする場合などに便利です。
パラメータ:
$is_sended
(boolean): メールが送信されたかどうかの結果。true
で送信成功、false
で送信失敗。$responser
(object): フォームの送信結果を含むレスポンサーオブジェクト。$setting
(object): フォームの設定情報を含む設定オブジェクト。$mail_parser
(object): メール内容の解析を行うMailParserオブジェクト。
// 自動返信メール送信後の追加処理
add_action( 'snow_monkey_forms/auto_reply_mailer/after_send', function( $is_sended, $responser, $setting, $mail_parser ) {
if ( $is_sended ) {
// 送信成功時の処理
// 例: ログに記録
error_log( '自動返信メールが送信されました。' );
} else {
// 送信失敗時の処理
// 例: エラーログに記録
error_log( '自動返信メールの送信に失敗しました。' );
}
}, 10, 4 );
snow_monkey_forms/auto_reply_mailer/headers
このフックは、Snow Monkey Formsプラグインにおいて、自動返信メール送信時に使用されるヘッダー情報をカスタマイズするために使用されます。
解説:
フォームの送信が成功し、自動返信メールの送信が行われる際に、メールのヘッダー情報を設定することができます。
このフックを使用することで、ヘッダー情報を動的に変更したり、追加のヘッダーを設定したりすることが可能です。
例えば、追加のCCやBCCを設定したい場合や、特定の条件下でヘッダーを変更したい場合などに便利です。
パラメータ:
$headers
(array): メールのヘッダー情報を格納した配列。$responser
(object): フォームの送信結果を含むレスポンサーオブジェクト。$setting
(object): フォームの設定情報を含む設定オブジェクト。
// 自動返信メールのヘッダー情報をカスタマイズする
add_filter( 'snow_monkey_forms/auto_reply_mailer/headers', function( $headers, $responser, $setting ) {
// CCを追加
$headers[] = 'Cc: example@example.com';
// BCCを追加
$headers[] = 'Bcc: example_bcc@example.com';
return $headers;
}, 10, 3 );
snow_monkey_forms/auto_reply_mailer/args
このフックは、Snow Monkey Formsプラグインにおいて、自動返信メール送信時に使用される引数をカスタマイズするために使用されます。
解説:
フォームの送信が成功し、自動返信メールの送信が行われる際に、メールの内容や送信先などを指定する引数を設定します。
このフックを使用することで、引数を動的に変更したり、追加の引数を設定したりすることが可能です。
例えば、送信先のメールアドレスを条件に応じて変更したい場合や、特定の条件下でメールの内容を変更したい場合などに便利です。
パラメータ:
$args
(array): メール送信時に使用される引数を格納した配列。$responser
(object): フォームの送信結果を含むレスポンサーオブジェクト。$setting
(object): フォームの設定情報を含む設定オブジェクト。
// 自動返信メールの送信引数をカスタマイズする
add_filter( 'snow_monkey_forms/auto_reply_mailer/args', function( $args, $responser, $setting ) {
// 送信先メールアドレスを条件に応じて変更
if ( $responser->get( 'your_custom_field' ) === '特定の値' ) {
$args['to'] = 'custom@example.com';
}
// メール本文に追記
$args['body'] .= "\n\n追加のメッセージ";
return $args;
}, 10, 3 );
snow_monkey_forms/saved_files/survival_time
このフックは、Snow Monkey Formsプラグインにおいて、フォームに添付されたファイルがサーバー上に保存される期間をカスタマイズするために使用されます。
解説:
フォーム送信時にユーザーが添付したファイルは、サーバー上の特定のディレクトリに一時的に保存されます。
このフックを使用することで、その保存期間(生存時間)をカスタマイズすることができます。
デフォルトでは15分(900秒)に設定されていますが、より短い時間や長い時間に変更することが可能です。
パラメータ:
$survival_time
(int): ファイルが保存される期間(秒単位)。
// ファイルの保存期間を30分に設定する
add_filter( 'snow_monkey_forms/saved_files/survival_time', function( $survival_time ) {
return 60 * 30; // 30分
} );
snow_monkey_forms/mailer/headers
このフックは、Snow Monkey Formsプラグインにおいて、メール送信時に使用されるヘッダー情報をカスタマイズするために使用されます。
解説:
フォームの送信が成功し、メール送信が行われる際に、メールのヘッダー情報を設定することができます。
このフックを使用することで、ヘッダー情報を動的に変更したり、追加のヘッダーを設定したりすることが可能です。
例えば、追加のCCやBCCを設定したい場合や、特定の条件下でヘッダーを変更したい場合などに便利です。
パラメータ:
$headers
(array): メールのヘッダー情報を格納した配列。
// メールのヘッダー情報をカスタマイズする
add_filter( 'snow_monkey_forms/mailer/headers', function( $headers ) {
// CCを追加
$headers[] = 'Cc: example@example.com';
// BCCを追加
$headers[] = 'Bcc: example_bcc@example.com';
return $headers;
} );
snow_monkey_forms/custom_mail_tag
このフックは、Snow Monkey Formsプラグインにおいて、メール本文内のカスタムタグをカスタマイズするために使用されます。
解説:
フォームの送信が成功し、メール送信が行われる際に、メール本文内にはフォームの入力値を埋め込むためのタグ(例: {name}
)が使用されます。
このフックを使用することで、カスタムタグの値を動的に変更したり、追加の処理を行ったりすることが可能です。
例えば、特定のフィールドの値を加工してメールに埋め込みたい場合などに便利です。
パラメータ:
$value
(mixed): カスタムタグの値。$tag
(string): カスタムタグの名前(フィールド名)。$responser
(Responser): フォームの送信結果を含むレスポンサーオブジェクト。$setting
(Setting): フォームの設定情報を含む設定オブジェクト。
// カスタムタグの値をカスタマイズする
add_filter( 'snow_monkey_forms/custom_mail_tag', function( $value, $tag, $responser, $setting ) {
// 特定のフィールドの値を加工する
if ( 'your_custom_field' === $tag ) {
$value = strtoupper( $value ); // 値を大文字に変換
}
return $value;
}, 10, 4 );
snow_monkey_forms/control/attributes
このフックは、Snow Monkey Formsプラグインにおいて、フォームコントロール(入力フィールド)の属性をカスタマイズするために使用されます。
解説:
フォームの入力フィールドやボタンなどのコントロールは、様々な属性(例: name
、class
、value
など)を持っています。
このフックを使用することで、コントロールの属性を動的に変更したり、追加の属性を設定したりすることが可能です。
例えば、特定のフィールドにカスタムクラスを追加したい場合や、属性の値を条件に応じて変更したい場合などに便利です。
パラメータ:
$attributes
(array): コントロールの属性を格納した連想配列。$setting
(Setting): フォームの設定情報を含む設定オブジェクト。
// 特定のフィールドにカスタムクラスを追加する
add_filter( 'snow_monkey_forms/control/attributes', function( $attributes, $setting ) {
if ( 'your_custom_field' === $attributes['name'] ) {
// 'class' 属性が存在しない場合は、空の文字列を設定
if ( ! isset( $attributes['class'] ) ) {
$attributes['class'] = '';
}
// カスタムクラスを追加
$attributes['class'] .= ' custom-class';
}
return $attributes;
}, 10, 2 );
snow_monkey_forms/checkboxes/options
このフックは、Snow Monkey Formsプラグインにおいて、チェックボックスコントロールのオプションをカスタマイズするために使用されます。
解説:
フォームにチェックボックスを設置する際に、選択肢(オプション)を設定します。
このフックを使用することで、チェックボックスのオプションを動的に変更したり、追加のオプションを設定したりすることが可能です。
例えば、データベースから取得した値をオプションとして設定したい場合や、特定の条件下でオプションを変更したい場合などに便利です。
パラメータ:
$options
(array): チェックボックスのオプションを格納した配列。$name
(string): チェックボックスコントロールの名前(name
属性の値)。$setting
(Setting): フォームの設定情報を含む設定オブジェクト。
// チェックボックスのオプションをカスタマイズする
add_filter( 'snow_monkey_forms/checkboxes/options', function( $options, $name, $setting ) {
// 特定のチェックボックスに対してオプションを設定
if ( 'your_checkbox_field' === $name ) {
$options = array(
'option1' => 'Option 1',
'option2' => 'Option 2',
'option3' => 'Option 3',
);
}
return $options;
}, 10, 3 );
snow_monkey_forms/select/options
このフックは、Snow Monkey Formsプラグインにおいて、セレクトボックスコントロールのオプションをカスタマイズするために使用されます。
解説:
フォームにセレクトボックス(ドロップダウンメニュー)を設置する際に、選択肢(オプション)を設定します。
このフックを使用することで、セレクトボックスのオプションを動的に変更したり、追加のオプションを設定したりすることが可能です。
例えば、データベースから取得した値をオプションとして設定したい場合や、特定の条件下でオプションを変更したい場合などに便利です。
パラメータ:
$options
(array): セレクトボックスのオプションを格納した配列。$name
(string): セレクトボックスコントロールの名前(name
属性の値)。$setting
(Setting): フォームの設定情報を含む設定オブジェクト。
// セレクトボックスのオプションをカスタマイズする
add_filter( 'snow_monkey_forms/select/options', function( $options, $name, $setting ) {
// 特定のセレクトボックスに対してオプションを設定
if ( 'your_select_field' === $name ) {
$options = array(
'value1' => 'Option 1',
'value2' => 'Option 2',
'value3' => 'Option 3',
);
}
return $options;
}, 10, 3 );
snow_monkey_forms/radio_buttons/options
このフックは、Snow Monkey Formsプラグインにおいて、ラジオボタンコントロールのオプションをカスタマイズするために使用されます。
解説:
フォームにラジオボタンを設置する際に、選択肢(オプション)を設定します。このフックを使用することで、ラジオボタンのオプションを動的に変更したり、追加のオプションを設定したりすることが可能です。
例えば、データベースから取得した値をオプションとして設定したい場合や、特定の条件下でオプションを変更したい場合などに便利です。
パラメータ:
$options
(array): ラジオボタンのオプションを格納した配列。$name
(string): ラジオボタンコントロールの名前(name
属性の値)。$setting
(Setting): フォームの設定情報を含む設定オブジェクト。
// ラジオボタンのオプションをカスタマイズする
add_filter( 'snow_monkey_forms/radio_buttons/options', function( $options, $name, $setting ) {
// 特定のラジオボタンに対してオプションを設定
if ( 'your_radio_field' === $name ) {
$options = array(
'option1' => 'Option 1',
'option2' => 'Option 2',
'option3' => 'Option 3',
);
}
return $options;
}, 10, 3 );
snow_monkey_forms/validator/error_message
このフックは、Snow Monkey Formsプラグインにおいて、フォームのバリデーションエラーメッセージをカスタマイズするために使用されます。
解説:
フォームの入力値がバリデーション(検証)に失敗した際に表示されるエラーメッセージをカスタマイズすることができます。
特定のフィールドやバリデーションルールに応じて、エラーメッセージを変更したい場合に便利です。
パラメータ:
$message
(string): デフォルトのエラーメッセージ。$validation_name
(string): バリデーションルールの名前。$name
(string): フォームフィールドの名前(name
属性の値)。
// バリデーションエラーメッセージをカスタマイズする
add_filter( 'snow_monkey_forms/validator/error_message', function( $message, $validation_name, $name ) {
// 特定のフィールドの特定のバリデーションルールに対するエラーメッセージを変更
if ( 'your_field_name' === $name && 'required' === $validation_name ) {
$message = 'このフィールドは必須です。';
}
return $message;
}, 10, 3 );
snow_monkey_forms/spam/validate
このフックは、Snow Monkey Formsプラグインにおいて、フォームのスパム検証を行うために使用されます。
解説:
フォームが送信されたときに、その内容がスパムであるかどうかを検証するために使用されます。このフックを利用して、独自のスパム検証ロジックを実装することができます。
// スパム検証をカスタマイズする
add_filter( 'snow_monkey_forms/spam/validate', function() {
// 独自のスパム検証ロジックを実装
// 例: 特定のキーワードが含まれていたらスパムと判定
$post_data = $_POST; // 送信されたフォームデータを取得
if (strpos($post_data['message'], 'spam_keyword') !== false) {
return false; // スパムと判定
}
return true; // スパムではないと判定
} );
snow_monkey_forms/form/append
このフックは、Snow Monkey Formsプラグインにおいて、フォームの末尾に追加のフィールドやコンテンツを挿入するために使用されます。
解説:
フォームの最後にカスタムフィールドやHTMLコンテンツを追加したい場合に利用します。
たとえば、Google reCAPTCHAのトークンフィールドを挿入するために使用されています。
// フォームの末尾にカスタムテキストを追加する
add_action( 'snow_monkey_forms/form/append', function() {
echo '<p>カスタムテキストをここに追加</p>';
} );
snow_monkey_forms/enqueue/fallback_style
このフックは、Snow Monkey Formsプラグインにおいて、フォームのスタイルが読み込まれるかどうかを制御するために使用されます。
解説:
Snow Monkey Formsプラグインは、デフォルトでフォームのスタイルを提供しています。
しかし、Snow Monkeyテーマを使用している場合は、テーマ側でフォームのスタイルが提供されているため、プラグインのスタイルは不要になります。
このフックを使用することで、プラグインのフォールバックスタイルの読み込みを制御することができます。
// Snow Monkeyテーマを使用している場合、フォームのフォールバックスタイルを読み込まない
add_filter( 'snow_monkey_forms/enqueue/fallback_style', '__return_false' );
まとめ
Contact Form 7やMW WP Formはネットに知見があり、いろいろなカスタマイズができますが、
ブロックエディタ対応のSnow Monkey Formsは便利で使いやすいものの、まだまだ知見が足りません。
今後カスタマイズする中で情報を追記したいと思います。