0

私の Web サイトには、ユーザーが情報を要求できるフォームがありますが、落とし穴があります。フォーム内にチェックボックスがあり、ユーザーがそれを選択すると、メールを別の場所に送信する必要があります。(スクリーンショットを参照)

ここに画像の説明を入力

ここに画像の説明を入力

何が起こっているか: 重力フォームは、両方のルールが一致すると両方のメールを送信しますが、優先度に基づいて 1 つのメールのみを送信したいです。どうやってやるの?

4

1 に答える 1

2

ルーティングで個々のルールの AND 条件が考慮されるとは思えません。

ただし、次のフィルタを使用して、電子メールを送信する前にさらに変更を加えることができます。

add_filter("gform_notification", "my_custom_function", 10, 3);

または、特定のフォーム (id = 42) の場合:

add_filter("gform_notification_42", "my_custom_function", 10, 3);

ソース: http://www.gravityhelp.com/documentation/page/Gform_notification

アップデート

フィールドにアクセスする例は次のようになります。

add_filter('gform_notification_42', 'updateNotificationForForm42', 10, 3);
function updateNotificationForForm42( $notification, $form, $entry ) {
    $fields = $form['fields'];
    foreach( $fields as $field ) {
        // Here you need to provide the field with some kind of identifying mark (e.g., Admin Label).  
        // Below assumes the field you're interested in has an admin label of 'Test Me'
        if( $field['adminLabel'] == 'Test Me' ) {
            $fieldValue = rgpost("input_{$field['id']}");
        }
    }
}

Gravity Forms開発者ドキュメントには、アクション/フィルターを介してカスタマイズする方法の例がたくさんあります。

関連項目: http://www.gravityhelp.com/documentation/page/Fields

于 2013-08-22T18:51:53.020 に答える