ご注意!

この記事には PHP コードが含まれており、開発者を対象としています。このコードは便宜上提供していますが、コードのカスタマイズやサードパーティの開発についてはサポートを提供していません。

追加のガイダンスについては、WPBeginner の カスタムコードの追加方法に関するチュートリアル を参照してください。

閉じる

メール通知でアイテム価格の値を非表示にする方法

はじめに

メール通知から商品価格を非表示にしますか?メール通知から合計金額、商品価格、またはその他のフィールドを非表示にする必要がある場合があります。簡単な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の見つけ方についてサポートが必要な場合は、こちらのドキュメントを確認してください

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

これで完了です!メール送信時にメールテンプレートのヘッダーをカスタマイズしますか?メールテンプレートのスタイルをカスタマイズする方法に関する記事をご覧ください。

フィルターリファレンス: wpforms_html_field_value

よくある質問

Q: これを使用して、非表示フィールドをメール通知から非表示にできますか?

A: もちろんです!非表示フィールドのIDに一致するように、19 == $field[‘id’]を変更するだけです。

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

A: もちろんです!したがって、複数のフィールドを非表示にするには、PHPのまたはステートメントを使用するだけです。またはステートメントは、コード内の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 );

またはステートメントを使用して、複数のフォームIDおよび複数のフィールドIDをグループ化することもできます。