説明
確認メッセージの出力をサイト全体でフィルタリングする。
パラメータ
- メッセージ
- (文字列) (必須)処理されたスマートタグを含む確認メッセージ。
- フォームデータ
- (配列) (必須)処理済の フ ォ ーム設定 / デー タ 。
- フィールド
- (配列) (必須)サニタイズされたフィールドデータ。
- $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 );