Description
Allows merge tags to be added/removed from the Merge Tag drop down in the admin.
Usage
<script type="text/javascript">
gform.addFilter('gform_merge_tags', 'add_merge_tags');
function add_merge_tags(mergeTags, elementId, hideAllFields, excludeFieldTypes, isPrepop, option){
//do something here
return mergeTags;
}
</script>
Parameters
- mergeTags object
The current mergeTags - elementId string
The name of the current field. When selecting the Merge Tag drop down on the Advanced tab of a form field, the value will always be “field_default_value”. The confirmation and notification admin pages will return specific field names so you may target adding a merge tag to a specific field. - hideAllFields boolean
Indicates whether to include the “All Submitted Fields” choice in the Merge Tag drop down. - isPrepop boolean
Indicates whether to include form fields in the Merge Tag drop down. - option string
Internal use by Gravity Forms.
Examples
Merge tags are currently grouped as ungrouped, required, optional, pricing, other, custom. Each group has a child object named tags, within tags is tag and label. Label is the text which displays in the merge tag drop down and tag is the merge tag {my_custom_merge_tag}.
Add custom merge tags to dropdown
This example adds 3 new merge tags to the drop down; two “custom” tags named “My Custom Merge Tag 1” and “My Custom Merge Tag 2”, and one “required” named “My Required Merge Tag 1”.
gform.addFilter('gform_merge_tags', function (mergeTags, elementId, hideAllFields, excludeFieldTypes, isPrepop, option) {
mergeTags["custom"].tags.push({tag: '{custom_merge_tag1}', label: 'My Custom Merge Tag 1'});
mergeTags["custom"].tags.push({tag: '{custom_merge_tag2}', label: 'My Custom Merge Tag 2'});
mergeTags["required"].tags.push({tag: '{required_merge_tag1}', label: 'My Required Merge Tag 1'});
return mergeTags;
});
Remove a merge tag from the dropdown
This example removes the “Client IP Address” merge tag from the “other” group.
gform.addFilter("gform_merge_tags", function (mergeTags, elementId, hideAllFields, excludeFieldTypes, isPrepop, option) {
//remove client ip address from "other" group
for (i in mergeTags["other"].tags) {
if (mergeTags["other"].tags[i].tag == "{ip}") {
mergeTags["other"].tags.splice(i, 1);
}
}
return mergeTags;
});
Placement
Reference the article Adding JavaScript Code to the Admin Side of Your Site.
Source Code
This filter is located in form_admin.js