通知メールに表示される商品価格を非表示にする方法

はじめに

Eメール通知から商品価格を非表示にしたいですか?合計金額や商品価格、あるいは別のフィールドをメール通知から非表示にする必要があるかもしれません。小さなPHPスニペットを使用すると、簡単に通知から価格を除外することができます。

フォームの作成

まずはじめに、支払いフィールドを使って支払いフォームを作成します。この作業でサポートが必要な場合は、こちらのドキュメントをご覧ください

支払いフォームを作成し、支払いフィールドを追加する

スニペットの追加

さあ、スニペットをサイトに追加しましょう。

あなたのサイトにスニペットを追加する場所と方法についてヘルプが必要な場合は、こちらのチュートリアルをご覧ください

/*
 * Hide the price from notifications
 *
 * @link https://wpforms.com/developers/how-to-hide-the-item-price-value-in-the-email-notifications
 */

function wpf_email_field_value( $value, $field, $form_data, $context) {
    
    if ( 'email-html' === $context ) {
	
        // If the form ID is 364 AND the field ID is 19 remove the value from the email notification	
        if ( 364 == $form_data[ 'id' ] && 19 == $field[ 'id' ] ) {

            return $field[ 'value' ] = '';

        }
    }

    return $value;
}
add_filter( 'wpforms_html_field_value', 'wpf_email_field_value', 15, 4 );

正しいフォームID(364)と正しいフィールドID(19)に一致するように、上記のコードを更新する必要があります。フォームIDやフィールドIDを見つけるのにサポートが必要な場合は、こちらのドキュメントをご覧ください

このスニペットを使用すると、Eメール通知から商品の価格を非表示にすることができます。

必要なのはそれだけです! メール送信時のメールテンプレートのヘッダーをカスタマイズしたいですか? メールテンプレートのスタイルをカスタマイズする方法をご覧ください。

フィルタ参照:wpforms_html_field_value

よくあるご質問

Q: これを使用して、メール通知から隠しフィールドを隠すことはできますか?

A:もちろんです!19==$field['id']隠しフィールドのIDと一致するように変更するだけです。

Q: これで複数のフィールドを非表示にできますか?

A:もちろんです!複数のフィールドを非表示にするには、PHPのor文を使えばいいのです。 or文は、コード内の2つのパイプラインにすぎません。 以下の例をご覧ください。

/*
 * Hide the price from notifications
 *
 * @link https://wpforms.com/developers/how-to-hide-the-item-price-value-in-the-email-notifications
 */

function wpf_email_field_value( $value, $field, $form_data, $context) {
    
    // If you are sending HTML emails run this snippet
    if ( 'email-html' === $context ) {

        // And if the form ID is 364 AND the field ID is 19 OR the form ID is 364 AND the field ID is 18
        // remove the value from the email notification	 		
        if ( 364 == $form_data[ 'id' ] && 19 == $field[ 'id' ] || 364 == $form_data[ 'id' ] && 18 == $field[ 'id' ]) {

            return $field['value'] = '';

        }
    }

    return $value;
}
add_filter( 'wpforms_html_field_value', 'wpf_email_field_value', 15, 4 );

orステートメントでも同じことができ、複数のフォームIDや複数のフィールドIDをグループ化することができる。