メール通知内にフィールドの説明を含めたいですか? デフォルトでは、{all_fields}はフォームから入力されたすべてのフォームフィールドとラベルを含みますが、説明文は例外です。 しかし、小さな PHP スニペットを使うことで、簡単にメール通知の中に説明を含めることができます。 このチュートリアルでは、これを実現するための各ステップを説明します!
プレーンテキストメールテンプレートを選択した場合、これらのスニペットは機能しません。
フォームの作成
まず、フォームを作成する必要があります。 このフォームにはいくつかのフィールドが含まれ、フィールドの説明を入力するフィールドは1つだけです。
フォームを作成したら、メール通知に含めるフィールドの説明を記入するだけです。
フォームの作成にサポートが必要な場合は、こちらのドキュメントをご覧ください。
メールテンプレートの選択
このチュートリアルでは、プレーンテキストメールテンプレートが選択されていないことを確認する必要があります。 どの設定になっているのか、この設定が何なのかがわからない場合は、こちらのドキュメントを参照して、このオプションを変更する場所を確認してください。
フィールドの説明を通知に含める
いよいよスニペットをサイトに追加します。 スニペットをサイトに追加する際にヘルプが必要な場合は、こちらのチュートリアルをご覧ください。
/* * Include field descriptions inside email notifications. * * @link https://wpforms.com/developers/how-to-include-field-descriptions-inside-email-notifications/ */ function wpf_dev_html_field_value( $field_val, $field, $form_data, $context ) { if ( $context !== 'email-html' ) { return $field_val; } if ( empty( $form_data[ 'fields' ][ $field[ 'id' ] ] ) ) { return $field_val; } $field_data = $form_data[ 'fields' ][ $field[ 'id' ] ]; if ( empty( $field_data[ 'description' ] ) ) { return $field_val; } return $field_val . '<p>' . $field_data[ 'description' ] . '</p>'; } add_filter( 'wpforms_html_field_value', 'wpf_dev_html_field_value', 20, 4 );
このスニペットを追加すると、すべてのメール通知にフィールドの説明が含まれるようになります。
これで完了です! これでEメール通知にフィールドの説明を含めることができました!通知メールから画像の選択肢を非表示にしたいですか? 通知メールの画像選択肢を非表示にする方法をご覧ください。
リファレンス・フィルター
よくあるご質問
Q: 通知内のフィールドの説明にスタイルを設定できますか?
A:このスニペットを使って、フィールドの説明にCSSスタイルを追加することができます。
/* * Include field descriptions inside email notifications. * * @link https://wpforms.com/developers/how-to-include-field-descriptions-inside-email-notifications/ */ function wpf_dev_html_field_value( $field_val, $field, $form_data, $context ) { if ( $context !== 'email-html' ) { return $field_val; } if ( empty( $form_data[ 'fields' ][ $field[ 'id' ] ] ) ) { return $field_val; } $field_data = $form_data[ 'fields' ][ $field[ 'id' ] ]; if ( empty( $field_data[ 'description' ] ) ) { return $field_val; } return $field_val . '<p style="padding:10px;background-color:#f6f6f6; color: #333333;"><i>' . $field_data[ 'description' ] . '</i></p>'; } add_filter( 'wpforms_html_field_value', 'wpf_dev_html_field_value', 20, 4 );
Q: フォームIDで1つのフォームだけをターゲットにできますか?
A:もちろんです!1つのフォームにのみこの機能を使用したい場合は、このスニペットを使用してください。
/* * Include field descriptions inside email notifications. * * @link https://wpforms.com/developers/how-to-include-field-descriptions-inside-email-notifications/ */ function wpf_dev_html_field_value( $field_val, $field, $form_data, $context ) { // Only process this on form ID 780 if ( $form_data[ 'id' ] !== '780' ) { return $field_val; } if ( $context !== 'email-html' ) { return $field_val; } if ( empty( $form_data[ 'fields' ][ $field[ 'id' ] ] ) ) { return $field_val; } $field_data = $form_data[ 'fields' ][ $field[ 'id' ] ]; if ( empty( $field_data[ 'description' ] ) ) { return $field_val; } return $field_val . '<p>' . $field_data[ 'description' ] . '</p>'; } add_filter( 'wpforms_html_field_value', 'wpf_dev_html_field_value', 20, 4 );
スニペット内の780を、あなたのフォームIDに合わせて置き換える必要があります。フォームIDを探すのに助けが必要な場合は、こちらのチュートリアルをご覧ください。
Q: フィールドの説明をエントリーに追加するにはどうすればよいですか?
A:このスニペットをサイトに追加することで、フォームエントリーを表示する際にフィールドの説明を含めることができます。
/* * Include field descriptions inside form entries. * * @link https://wpforms.com/developers/how-to-include-field-descriptions-inside-email-notifications/ */ function wpf_dev_html_field_value( $field_val, $field, $form_data, $context ) { if ( $context !== 'entry-single' ) { return $field_val; } if ( empty( $form_data[ 'fields' ][ $field[ 'id' ] ] ) ) { return $field_val; } $field_data = $form_data[ 'fields' ][ $field[ 'id' ] ]; if ( empty( $field_data[ 'description' ] ) ) { return $field_val; } return $field_val . '<br><br>' . $field_data[ 'description' ]; } add_filter( 'wpforms_html_field_value', 'wpf_dev_html_field_value', 20, 4 );
を使用する。 entry-single
このスニペットを使用することで、単一のエントリーを閲覧する際にフィールドの説明を表示できるようになります。このスニペットを使用することで、現在閲覧中のエントリーにフィールドの説明が表示されるようになります。
Q: すべてのフィールドの説明を追加するのではなく、特定のフィールドの説明だけを追加することはできますか?
A:もちろんです!この例では、「名前」フィールドのフィールド説明のみを記載します。
/* * Include field descriptions inside form entries. * * @link https://wpforms.com/developers/how-to-include-field-descriptions-inside-email-notifications/ */ function wpf_dev_html_field_value( $field_val, $field, $form_data, $context ) { if ( $context !== 'email-html' ) { return $field_val; } if ( $field['type'] !== 'name' ) { return $field_val; } if ( empty( $form_data[ 'fields' ][$field[ 'id' ]] ) ) { return $field_val; } $field_data = $form_data[ 'fields' ][$field[ 'id' ]]; if ( empty( $field_data[ 'description' ] ) ) { return $field_val; } return $field_val . '<br><br>' . $field_data[ 'description' ]; } add_filter( 'wpforms_html_field_value', 'wpf_dev_html_field_value', 20, 4 );