{"id":39447,"date":"2015-10-13T14:53:41","date_gmt":"2015-10-13T14:53:41","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/repeater-add-on-for-gravity-forms\/"},"modified":"2018-01-12T20:18:16","modified_gmt":"2018-01-12T20:18:16","slug":"repeater-add-on-for-gravity-forms","status":"closed","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/repeater-add-on-for-gravity-forms\/","author":13237307,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.9","stable_tag":"trunk","tested":"4.4.34","requires":"3.9","requires_php":"","requires_plugins":"","header_name":"Gravity Forms Repeater Add-On","header_author":"Kodie Grantham","header_description":"","assets_banners_color":"f9f9f9","last_updated":"2018-01-12 20:18:16","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/repeater-add-on-for-gravity-forms\/","header_author_uri":"http:\/\/kodieg.com","rating":3.7,"author_block_rating":0,"active_installs":200,"downloads":15976,"num_ratings":0,"support_threads":1,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":[],"upgrade_notice":[],"ratings":{"1":"7","2":"1","3":0,"4":0,"5":"16"},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":"1267531","resolution":"128x128","location":"assets"},"icon-256x256.png":{"filename":"icon-256x256.png","revision":"1267531","resolution":"256x256","location":"assets"}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":"1267432","resolution":"1544x500","location":"assets"},"banner-772x250.png":{"filename":"banner-772x250.png","revision":"1267432","resolution":"772x250","location":"assets"}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1","1.0.2","1.0.3","1.0.4","1.0.5","1.0.6","1.0.7","1.0.7.1","1.0.7.2","1.0.8","1.0.9"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":"1267432","resolution":"1","location":"assets"},"screenshot-2.png":{"filename":"screenshot-2.png","revision":"1267432","resolution":"2","location":"assets"},"screenshot-3.png":{"filename":"screenshot-3.png","revision":"1267432","resolution":"3","location":"assets"},"screenshot-4.png":{"filename":"screenshot-4.png","revision":"1267432","resolution":"4","location":"assets"}},"screenshots":{"1":"Any supported fields placed between the <code>Repeater<\/code> and <code>Repeater End<\/code> will be repeated.","2":"A minimum and maximum number may be set to limit how many times a Repeater can be repeated.","3":"When activated, 2 new field type buttons will be added to Gravity Forms, <code>Repeater<\/code> and <code>Repeater End<\/code>.","4":"A view of the front-end. The only visible difference will be the added <code>+<\/code> and <code>-<\/code> buttons."}},"plugin_section":[],"plugin_tags":[361,601,2695,9775],"plugin_category":[42],"plugin_contributors":[82245],"plugin_business_model":[],"class_list":["post-39447","plugin","type-plugin","status-closed","hentry","plugin_tags-form","plugin_tags-forms","plugin_tags-gravity","plugin_tags-gravityforms","plugin_category-contact-forms","plugin_contributors-kodiegrantham","plugin_committers-kodiegrantham"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/repeater-add-on-for-gravity-forms_f9f9f9.svg","icon_2x":false,"generated":true},"screenshots":[{"src":"https:\/\/ps.w.org\/repeater-add-on-for-gravity-forms\/assets\/screenshot-1.png?rev=1267432","caption":"Any supported fields placed between the <code>Repeater<\/code> and <code>Repeater End<\/code> will be repeated."},{"src":"https:\/\/ps.w.org\/repeater-add-on-for-gravity-forms\/assets\/screenshot-2.png?rev=1267432","caption":"A minimum and maximum number may be set to limit how many times a Repeater can be repeated."},{"src":"https:\/\/ps.w.org\/repeater-add-on-for-gravity-forms\/assets\/screenshot-3.png?rev=1267432","caption":"When activated, 2 new field type buttons will be added to Gravity Forms, <code>Repeater<\/code> and <code>Repeater End<\/code>."},{"src":"https:\/\/ps.w.org\/repeater-add-on-for-gravity-forms\/assets\/screenshot-4.png?rev=1267432","caption":"A view of the front-end. The only visible difference will be the added <code>+<\/code> and <code>-<\/code> buttons."}],"raw_content":"<!--section=description-->\n<p><strong>This plugin is no longer maintained and is probably broken, go use <a href=\"https:\/\/gravitywiz.com\/documentation\/gravity-forms-nested-forms\/?ref=145\">Gravity Forms Nested Forms by Gravity Wiz<\/a> instead!<\/strong><\/p>\n\n<p>A Gravity Forms add-on that allows specified groups of fields to be repeated by the user.<\/p>\n\n<h4>Supported Fields<\/h4>\n\n<ul>\n<li>Address<\/li>\n<li>Checkboxes<\/li>\n<li>Date<\/li>\n<li>Drop Down<\/li>\n<li>Email<\/li>\n<li>Hidden<\/li>\n<li>HTML<\/li>\n<li>MultiSelect<\/li>\n<li>Name<\/li>\n<li>Number<\/li>\n<li>Paragraph Text<\/li>\n<li>Phone<\/li>\n<li>Radio<\/li>\n<li>Section<\/li>\n<li>Single Line Text<\/li>\n<li>Time<\/li>\n<li>Website<\/li>\n<\/ul>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>Repeat groups of fields multiple times<\/li>\n<li>Use multiple repeaters on the same form<\/li>\n<li>Use shortcodes to display data to the user<\/li>\n<li>Use Javascript to manipulate the repeater (See GitHub Page)<\/li>\n<li>Customize the add and remove button's HTML<\/li>\n<li>Use Gravity Forms pre-populate hooks and filters like normal<\/li>\n<li>Supports Conditional Logic!<\/li>\n<\/ul>\n\n<h4>Issues<\/h4>\n\n<ul>\n<li>Not all fields are currently supported.<\/li>\n<li>Ajax enabled forms are not yet supported. (Ajax will be automatically disabled on forms with repeaters)<\/li>\n<\/ul>\n\n<h4>Shortcodes<\/h4>\n\n<p>You can place shortcodes inside of input labels, input descriptions, and HTML blocks!<\/p>\n\n<ul>\n<li>[gfRepeater-count] - Will output the current repeat number.<\/li>\n<li>[gfRepeater-buttons] - Will output both the '+' and '-' buttons.<\/li>\n<li>[gfRepeater-add] - Will output the '+' button.<\/li>\n<li>[gfRepeater-remove] - Will output the '-' button.<\/li>\n<\/ul>\n\n<h4>CSS Classes<\/h4>\n\n<p>You can use these CSS classes in the in the \"Custom CSS Class\" setting to do different things.<\/p>\n\n<ul>\n<li>gf_repeater_hide_add - Will hide the '+' button if placed in the repeater end css setting.<\/li>\n<li>gf_repeater_hide_remove - Will hide the '-' button if placed in the repeater end css setting.<\/li>\n<\/ul>\n\n<h4>Check out the source on GitHub!<\/h4>\n\n<p><a href=\"https:\/\/github.com\/kodie\/gravityforms-repeater\">https:\/\/github.com\/kodie\/gravityforms-repeater<\/a><\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>repeater-add-on-for-gravity-forms<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory.<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt>Installation Instructions<\/dt>\n<dd><ol>\n<li>Upload the <code>repeater-add-on-for-gravity-forms<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory.<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress.<\/li>\n<\/ol><\/dd>\n<dt>Can I use multiple repeaters in one form?<\/dt>\n<dd><p>Yes!<\/p><\/dd>\n<dt>Can I nest repeaters?<\/dt>\n<dd><p>Unfortunately nesting repeaters is not supported at this time.<\/p><\/dd>\n<dt>Can I change the `+` and `-` buttons to text links?<\/dt>\n<dd><p>Yes! Just go to the form editor and change the <code>Add HTML<\/code> and <code>Remove HTML<\/code> settings to <code>&lt;a&gt;Your Link Text&lt;\/a&gt;<\/code> and they should appear as regular links on your form!<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.9<\/h4>\n\n<ul>\n<li>Fixed bug where in some cases a PHP error would occur when attempting to automatically disable ajax on a form.<\/li>\n<li>Fixed bug where sometimes a javascript error would occur on date fields with a calendar icon.<\/li>\n<li>Fixed bug where removing a specific repeatId would cause some weird things to happen.<\/li>\n<li>Fixed bug where repeaters in a multipage form that are not on the first page would appear to have failed validation even if the form hasn't been submitted.<\/li>\n<li>Fixed bug where repeaters in a muttipage form that are not on the first page would forget their saved data and ignore their start setting.<\/li>\n<li>Fixed hideButtons setting.<\/li>\n<li>Added [gfRepeater-buttons], [gfRepeater-add], and [gfRepeater-remove] shortcodes.<\/li>\n<li>Added custom CSS option to repeater start and end fields.<\/li>\n<li>Added gf_repeater_hide_add and gf_repeater_hide_remove CSS classes.<\/li>\n<li>Added gfRepeater_select javascript function.<\/li>\n<li>Added 'gform_repeater_init_done' trigger to window and individual forms.<\/li>\n<li>Changed 'beforeRepeat', 'afterRepeat', 'beforeUnRepeat', and 'afterUnRepeat' triggers to 'gform_repeater_before_repeat', 'gform_repeater_after_repeat', 'gform_repeater_before_unrepeat', and 'gform_repeater_after_unrepeat'.<\/li>\n<li>Repeated fields now respect conditional logic from outside the repeater.<\/li>\n<li>Applying conditional logic on a repeated section field now also applys that logic on repeated fields under that section.<\/li>\n<li>When exporting entries, repeater child data is now exported in a comma-separated list.<\/li>\n<\/ul>\n\n<h4>1.0.8<\/h4>\n\n<ul>\n<li>Fixed bug where sometimes for some reason an input name would be sent as an array and cause a PHP error to display.<\/li>\n<li>Fixed bug where sometimes validation message would be displayed multiple times for same field.<\/li>\n<li>Fixed bug where filters would not be loaded if Repeater was the first field on the form.<\/li>\n<li>Fixed bug where sometimes captured repeater input data would be applied to other forms in cases where there are multiple forms on one page.<\/li>\n<li>Fixed prepopulation for checkbox and radio fields.<\/li>\n<li>Changed the way settings and field data is sent to Javascript so now monkey patching the input mask script is no longer necessary.<\/li>\n<li>Field input masks are now stored in gfRepeaters data. (gfRepeaters[repeaterId]['children'][childId]['inputMask'])<\/li>\n<li>Added support for conditional logic enabled fields!<\/li>\n<li>Added support for Repeater merge tags.<\/li>\n<li>Cleaned up formatting for text-only email notifications.<\/li>\n<li>Changed Repeater End Setting from 'doNotUse' to 'hideButtons'.<\/li>\n<li>Added Repeater Start Setting 'Hide Label &amp; Description' to appearance tab.<\/li>\n<li>Repeater label now defaults to 'Repeater' instead of blank and adminLabel now defaults to blank instead of 'Repeater'.<\/li>\n<li>Repeater Javascript now initiates after 'gform_post_render' has been triggered instead of on window load.<\/li>\n<\/ul>\n\n<h4>1.0.7.2<\/h4>\n\n<ul>\n<li>Fixed saved repeater field data during validation. (Accidently broke it in the 1.0.7.1 patch)<\/li>\n<\/ul>\n\n<h4>1.0.7.1<\/h4>\n\n<ul>\n<li>Fixed a bug where repeater would break multipage forms. (Sorry about that!)<\/li>\n<\/ul>\n\n<h4>1.0.7<\/h4>\n\n<ul>\n<li>Fixed bug where field order was not saved when a form was submitted.<\/li>\n<li>Fixed syntax error for older versions of PHP.<\/li>\n<li>Repeated fields now have their tabindex set to the one that was assigned to the repeater start field.<\/li>\n<li>Repeater start field tabindex now stored in gfRepeaters data. (gfRepeaters[repeaterId]['data']['tabIndex'])<\/li>\n<li>Repeater is now repeated if a paremeter is set for a specific field that is higher than the start repeat count.<\/li>\n<li>Highest set paremeter number is now stored in gfRepeaters data. (gfRepeaters[repeaterId]['data']['paremCount'])<\/li>\n<li>Repeater dependencies, actions, and filters are now only loaded on forms that have a repeater field.<\/li>\n<li>Field type is now set for hidden and section fields in gfRepeaters data.<\/li>\n<li>Ajax is now automatically disabled on forms that have a repeater field. (Until I come up with a fix for ajax enabled forms)<\/li>\n<li>Added support for Andy Fragen's GitHub Updater. (See readme for more info)<\/li>\n<li>CSS is now minified.<\/li>\n<li>gfRepeaters data now contains the form ID number as a root and the repeater Id as a subroot. (See readme for more info)<\/li>\n<\/ul>\n\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>Fixed repeater 'start' setting. (Apparently it's been broken for awhile?)<\/li>\n<li>Fixed datepicker ui for repeated date fields.<\/li>\n<li>Fixed bug where repeater plugin wouldn't allow page settings to display in the form editor.<\/li>\n<li>Fixed entry detail formatting for emails and non-html views.<\/li>\n<li>Repeated field labels are no longer saved in the database with the entries and are now looked up by field ID.<\/li>\n<li>Added support for Hidden field type.<\/li>\n<li>Added the ability to change the repeater 'start' setting by using the built in Gravity Froms pre-populate filters and hooks.<\/li>\n<li>Added the ability to pre-populate repeated fields using the built in Gravity Forms filters and hooks. (See readme for more info)<\/li>\n<li>Field ID number is now stored in gfRepeaters data. (gfRepeaters[repeaterId]['children'][childId]['idNum'])<\/li>\n<li>Field input pre-populate value is now stored in GfRepeaters data. (gfRepeaters[repeaterId]['children'][childId]['inputs'][inputId]['prePopulate']) (See readme for more info)<\/li>\n<li>Plugin now requires Gravity Forms 1.9 or later.<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Fixed bug where sometimes not all repeated, required fields would be validated.<\/li>\n<li>Fixed bug where repeated fields that are set to 'adminOnly' would have that setting switched off upon form validation.<\/li>\n<li>Added support for MultiSelect, Radio, and Time fields.<\/li>\n<li>Added upgrade function to clean up entries from older versions.<\/li>\n<li>Repeater field admin label now defaults to 'Repeater' instead of blank.<\/li>\n<li>All repeated values are now stored as arrays besides special cases such as Section fields.<\/li>\n<li>Field types are now stored in gfRepeaters data. (gfRepeaters[repeaterId]['children'][childId]['type'])<\/li>\n<li>Name and Address fields now only require the normally required fields.<\/li>\n<li>Added plugin page link to row meta.<\/li>\n<li>A few misc things and code clean up.<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Fixed bug with number field where a PHP error would show up if a form failed validation.<\/li>\n<li>Fixed bug where a javascript error would occur if no repeater children were marked as required.<\/li>\n<li>Fixed bug where a PHP error would sometimes occur on the entries page in the admin panel if a repeated field was submitted blank.<\/li>\n<li>Added support for Section field type.<\/li>\n<li>Default validation functions are now bypassed for repeater children.<\/li>\n<li>gfRepeater-count shortcode now shows up for field titles on the entires page in the admin panel.<\/li>\n<li>Blank repeated fields now show up if \"Show Empty Fields\" is enabled.<\/li>\n<li>Repeater children and repeater end fields no longer display duplicated results on the entries page in the admin panel.<\/li>\n<li>Added a little bit of backwards compatibility for fetching saved repeater child entry data.<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Fixed bug where repeated fields would look like they failed validation if any repeated fields before them failed.<\/li>\n<li>Fixed bug with validation on fields with multiple inputs.<\/li>\n<li>Fixed bugs with form editor and setting repeater children required option.<\/li>\n<li>Added beforeRepeat, afterRepeat, beforeUnRepeat, and AfterUnRepeat form triggers.<\/li>\n<li>Added a stylesheet with some default styles for repeater releated stuff.<\/li>\n<li>Added keypress event and tab index to add and remove buttons.<\/li>\n<li>Added a little bit of error handing to the javascript just in case the admin forgets to add a repeater-end or trys to nest repeaters.<\/li>\n<li>Repeater start field label now defaults to blank instead of \"Untitled\".<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Fixed bug where if any fields in a form with a repeater in it would be unsubmittable.<\/li>\n<li>Fixed repeater field validation.<\/li>\n<li>Added custom validation message feature.<\/li>\n<li>Added repeater \"start\" number feature.<\/li>\n<li>Added repeater label and description options.<\/li>\n<li>Added custom Add and Remove button HTML feature.<\/li>\n<li>Added \"Do not use add and remove buttons\" feature.<\/li>\n<li>Added new \"[gfRepeater-count]\" shortcode.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Added support for Address, Checkboxes, Name, and Number fields.<\/li>\n<li>Added View details and GitHub links to row meta.<\/li>\n<li>Fixed input masks!<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial Release<\/li>\n<\/ul>","raw_excerpt":"A Gravity Forms add-on that allows specified groups of fields to be repeated by the user.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/39447","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=39447"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/kodiegrantham"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=39447"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=39447"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=39447"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=39447"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=39447"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=39447"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}