支払いフィールドのメール通知でゼロ数量アイテムを非表示にする

はじめに

ドロップダウン項目または単一項目支払いフィールドを使用している場合、WPForms の通知メールから数量がゼロの項目を非表示にしますか? これらの支払いフィールドで数量オプションを有効にして使用する場合、デフォルトでは WPForms は数量に関係なく、通知に選択されたすべての項目を表示します。

このチュートリアルでは、通知メールから数量がゼロの項目を非表示にする方法を説明します。

スニペットの追加

支払いフィールドの通知から数量ゼロの項目を非表示にするには、サイトにカスタムスニペットを追加する必要があります。サイトへのスニペットの追加にヘルプが必要な場合は、WPForms の PHP または JavaScript の追加に関するチュートリアルをご覧ください。

/**
 * Hiding Zero Quantity Items in Email Notifications for Payment Fields
 *
 * @link https://wpforms.com/developers/how-to-hide-zero-quantity-items-in-dropdown-payment-field-notifications
 */
add_filter('wpforms_entry_email_data', function ($fields, $entry, $form_data) {
    foreach ($fields as $field_id => $field) {
        // Adjust to handle 'payment-single', 'payment-select', or any other types
        if (
            isset($form_data['fields'][$field_id]['type']) && 
            in_array($form_data['fields'][$field_id]['type'], ['payment-select', 'payment-single'])
        ) {
            $quantity = isset($field['quantity']) ? (int) $field['quantity'] : 0;

            if ($quantity == 0) {
                unset($fields[$field_id]);
            }
        }
    }

    return $fields;
}, 10, 3); 

このスニペットは、フォーム通知内の各支払いフィールドをチェックし、数量の値を取得して、数量がゼロのフィールドを削除し、通知メールで数量がゼロより大きいフィールドを保持します。

注意: このスニペットは、数量が有効になっているドロップダウン項目および単一項目支払いフィールドの両方で機能します。

これで、支払いフィールドの通知から数量ゼロの項目を非表示にすることができました。

通知メールをさらにカスタマイズしますか? 通知メールの画像サイズを大きくする記事をご覧ください。