AIサマリー
説明
確認メッセージの出力をサイト全体でフィルタリングする。
パラメータ
- メッセージ
- (文字列) (必須)処理されたスマートタグを含む確認メッセージ。
- フォームデータ
- (配列) (必須)処理済の フ ォ ーム設定 / デー タ 。
- フィールド
- (配列) (必須)サニタイズされたフィールドデータ。
- $entry_id
- (int) (必須)エントリ ID。
ソース
wpforms/src/Frontend/Frontend.php
詳細情報
このフィルタは確認メッセージを表示するように設定されたすべてのフォームに適用されます。このフィルタは表示される確認メッセージを変更したり置き換えたりするために使われ、フォームビルダーで設定されたメッセージ内容を上書きします。
例
以下に示す例では、フォームに入力したユーザー名を取得し、確認メッセージにはよりパーソナライズされたメッセージを表示します。
フォームIDを 25 を、コードを実行したい特定のフォームIDに一致させます。このチェックを外すと、すべてのフォームに対して実行されます。
/**
* Filters confirmation message output site-wide.
*
* @link https://wpforms.com/developers/wpforms_frontend_confirmation_message/
*
* @param string $message Confirmation message including Smart Tags.
* @param array $form_data Form data and settings.
* @param array $fields Sanitized field data.
* @param int $entry_id Entry ID.
*
* @return string
*/
function wpf_dev_frontend_confirmation_message( $message, $form_data, $fields, $entry_id ) {
// Only run on my form with ID = 25
if ( absint( $form_data[ 'id' ] ) !== 25 ) {
return $message;
}
// also it is possible to access the first, middle, and the last name as follows inplace of [ 'value' ]
// $contact_name = $fields[ '0' ][ 'first' ]; - this will pass in the first name
// $contact_name = $fields[ '0' ][ 'last' ]; - this will pass in the last name
// $contact_name = $fields[ '0' ][ 'middle' ]; - this will pass in the middle name in the format First Middle Last
// Get the name field ID '0' to set the name for the message
$contact_name = $fields[ '0' ][ 'value' ];
// Add the name to the message
$message = __('Thanks ' . $contact_name . ' we will be in touch!', 'plugin-domain');
return $message;
}
add_filter( 'wpforms_frontend_confirmation_message', 'wpf_dev_frontend_confirmation_message', 10, 4 );