Use a Repeater field to add a group of fields any number of times. This field allows users to click an Add button to add another group of fields. This field is incredibly useful when you want users to add details about multiple items in a form. This feature is commonly used when adding information for multiple individuals, such as children, in a form.
Upgrade your WordPress site with powerful, flexible forms.
A Repeater's Label Position offers Default, Top, None, Hidden (but leave the space), and Center. To place labels to the left, right, or inline, set the Label Position on the fields inside the Repeater.
From Idea to Reality in Minutes. Build Powerful Forms, Dashboards, Apps and More.
Formidable Forms makes advanced site building simple. Launch forms, directories, dashboards, and custom WordPress apps faster than ever before.
To make your section or repeater slide open or closed, check the Collapsible box in the field options. This box is unchecked by default. A collapsible Repeater loads closed. Users click its heading to open it.
With the Repeater, choose the layout for the fields in that section. To set the layout, select an option in the Repeat Layout dropdown in the field options. The default option is "Default: No automatic formatting".
The Inline format displays all the fields in the Repeater on one row. The Grid format displays all the fields in the Repeater on one row with the field names only on the top of the first row.
By default, the repeat buttons show a (+)(-) symbol and the Add and Remove text. Change the text, or show only the (+)(-) symbols or only the text on the Add and Remove buttons.
Click the (+)Add (-)Remove button inside the Repeater.
In the Repeat Links dropdown, choose Icons, Text links, or Text links with icons. Text links with icons is the default.
For a text option, set your Add New Label and Remove Label text below the dropdown.
The label boxes are hidden while Icons is saved. If you switch from Icons back to a text option, click Update and reload the form builder to see them.
In the Repeater's Advanced section, set the number of rows a Repeater shows when the form first loads in the Min Repeater Rows box. It's empty by default, so only 1 row appears. To show more rows, enter a value of at least 2.
In the Repeater's Advanced section, set the maximum number of rows a user can add in a Repeater field in the Max Repeater Rows box. It's empty by default, so users can submit as many rows as they want. To set a limit, enter a value of at least 2.
By default, every form action is triggered based on the events of the main entry, such as entry creation, saving, updating, and deletion. With the repeater action, you can trigger specific actions based on the entries in the repeater. Below is a list of supported form actions.
This guide will walk you through using the Repeater actions with the Send Email action as an example.
Begin by creating the required repeater fields in your form.
Go to Settings → Actions & Notifications and open the Send Email action, or click the Send Email tile to add one. In the Run this action for dropdown, select your Repeater field.
Add the necessary data for the email message, considering the repeater entries. In the To box, insert the Email field from inside the Repeater. In the message, use the shortcodes of the fields inside the Repeater. Click Update to save your changes. In this example, the custom email will only be sent out if a value is submitted to the selected repeater.
Submit some new entries for the repeater.
Once you have submitted the entry, you can check your email inbox to see the entry results of the Send Email action. It will vary depending on which repeater you have triggered it to run.
To customize the Add/Remove button colors, go to Formidable → Global Settings → Custom CSS page or your form's style custom CSS area and add the following CSS. Then click Update. You may adjust the background-color and border-color as needed.
To customize the order of the repeater buttons, go to Formidable → Global Settings → Custom CSS page or your form's style custom CSS area and add the following CSS. Then click Update.
.frm_repeat_buttons {
direction: rtl;
}
This shows the Remove button before the Add button.
To get a total of the values in a field in a Repeater, you can:
Create a field outside of the Repeater to hold the total.
In the field's options, open the Advanced section. Under Default Value, toggle on Calculate Value and select the Math option.
In the Field Formula box, insert the [id] or [key] of the field inside the Repeater that you want to total.
Click Update to save your changes.
The values in the field in the Repeater will be added together automatically. If the values in the Repeater are words instead of numbers, you can select the Text option, too. The total field will contain a comma-separated list of the values in the field in the Repeater.
To calculate the number of rows in a repeater, follow the steps below:
Inside the repeater, add a hidden field to hold the row number. In the field's Advanced section, set the Default Value to 1.
Outside the repeater, add a text or number field to hold the total number of rows. In its Advanced section, under Default Value, toggle on Calculate Value and select the Math option. Then insert the Hidden field ID in the Field Formula box.
Click Update to save your changes.
The values in the hidden field in the Repeater will be added together automatically to calculate the number of rows.
Replace 101, 102, and 103 with the field IDs inside the Repeater.
Separator. Apply a separator between iterations.
Dr. Pepper, Water, Coca-Cola
When you use the foreach shortcode like this:
[foreach 100 sep=", "][103][/foreach 100]
Replace 100 with the field ID of your Repeater field. Replace 103 with the field ID inside the Repeater.
Alternatively, you may create a View from a Repeater field. A View from a Repeater provides ordering and filtering options that the [foreach] shortcode, in a View from the main form, does not. A View from a Repeater can be standalone or nested inside a View from the main form.
To display the data from a Repeater field in reverse order, you can use the parameter order="desc". It goes through the Repeater rows starting from the last row added and ending with the first one.
When deleting a repeater row, a confirmation message is displayed to avoid cases where form data is accidentally deleted. To change the message, go to Formidable → Global Settings → Message Defaults and look for the Repeater row delete confirmation field.
Other field types are much simpler to display in an HTML field on the last page of your form. But repeater fields need a bit of extra code. Use [frm-repeat-post section_id=25 field_ids='26,27'] in the HTML field at the end of your form. Replace 25 with the ID of your repeater field, and 26,27 with the fields inside of it. Each row shows on its own line, with a dash between the values.
This article may contain affiliate links. Once in a while, we earn commissions from those links. But we only recommend products we like, with or without commissions.
In this article
Get More Done In Less Time With Better
WordPress Forms
Upgrade your
workflow with advanced WordPress forms and integrated Views.
We use cookies to improve your experience on our site. By using our site, you consent to cookies.
This website uses cookies
Websites store cookies to enhance functionality and personalise your experience. You can manage your preferences, but blocking some cookies may impact site performance and services.
Essential cookies enable basic functions and are necessary for the proper function of the website.
Name
Description
Duration
Geolocation Config
This cookie is used to store the consent settings based on the visitor's location.
90 days
Cookie Preferences
This cookie is used to store the user's cookie consent preferences.
90 days
These cookies are needed for adding comments on this website.
Name
Description
Duration
comment_author
Used to track the user across multiple sessions.
Session
comment_author_email
Used to track the user across multiple sessions.
Session
comment_author_url
Used to track the user across multiple sessions.
Session
Easy Digital Downloads is a complete eCommerce solution for WordPress.
Name
Description
Duration
edd_items_in_cart
Stores information about the cart.
Session
edd_session_
Stores information about the current user session.
Session
Formidable Forms is used to manage forms on this website.
Name
Description
Duration
frm_form_
Saves the ID of the form and the time the entry was submitted.
2 hours
These cookies are used for managing login functionality on this website.
Name
Description
Duration
wordpress_logged_in
Used to store logged-in users.
Persistent
wordpress_sec
Used to track the user across multiple sessions.
15 days
wordpress_test_cookie
Used to determine if cookies are enabled.
Session
Statistics cookies collect information anonymously. This information helps us understand how visitors use our website.
Google Analytics is a web analytics service offered by Google that tracks and reports website traffic.
Used to determine if the user is in a new session/visit.
Session
__utmt
Used to throttle request rate.
10 minutes
__utmv
Used to store visitor-level custom variable data.
2 years
__utmz
Stores the traffic source or campaign that explains how the user reached your site.
6 months
LinkedIn is a professional networking platform for job seekers, employers, and industry connections.
Name
Description
Duration
fcookie
Used for bot detection.
7 days
AnalyticsSyncHistory
Used to store information about the time a sync with the lms_analytics cookie took place for users in the Designated Countries
30 days
ccookie
To remember if a user received a captcha challenge.
20 minutes
lissc
Pending
1 year
ABSELB
This is Load Balancer Cookie for affiliate marketing
2 years
spectroscopyId
These cookies are set by LinkedIn for advertising purposes, including: tracking visitors so that more relevant ads can be presented, allowing users to use the 'Apply with LinkedIn' or the 'Sign-in with LinkedIn' functions, collecting information about how visitors use the site, etc.
session
brwsr
This cookie is used to Affiliate Marketing Cookie for LinkedIn
2 years
UserMatchHistory
These cookies are set by LinkedIn for advertising purposes, including: tracking visitors so that more relevant ads can be presented, allowing users to use the 'Apply with LinkedIn' or the 'Sign-in with LinkedIn' functions, collecting information about how visitors use the site, etc.
session
lihc_auth_
Used by LinkedIn HelpCenter Live Chat to store language and chat start timestamp. Example names of this cookie include lihc_auth_en, lihc_auth_es, depending on language preference.
Session
lang
Used to remember a user's language setting
session
li_a
Used to authenticate enterprise users on Sales Navigator and Recruiter
30 days
li_gc
Used to store guest consent to the use of cookies for non-essential purposes
2 years
li_ep_auth_context
User to authenticate LinkedIn enterprise customers
30 days
li_rm
Used as part of the LinkedIn Remember Me feature and is set when a user clicks Remember Me on the device to make it easier for him or her to sign in to that device
1 year
bscookie
Used by LinkedIn to track the use of embedded services.
1 year
lms_ads
This cookie is used to identify LinkedIn Members off LinkedIn for advertising
30 days
trkCode
This cookie is used by LinkedIn to support the functionality of adding a panel invite labeled 'Follow Us'
1 year
_guid
This cookie is used to identify a LinkedIn Member for advertising through Google Ads
90 days
trkInfo
This cookie is used by LinkedIn to support the functionality of adding a panel invite labeled 'Follow Us'
1 year
BizographicsOptOut
This cookie is used to determine opt-out status for non-members
10 years
li_oatml
Collects information about how visitors use our site.
30 days
IRLD
This cookie is used for Affiliate Marketing Cookie for LinkedIn
2 years
liap
Cookie used for Sign-in with Linkedin and/or to allow for the Linkedin follow feature.
90 days
l_page
This cookie is used for measuring conversion metrics on LinkedIn
6 months
pushPermInfo
Used across multiple LinkedIn services to determine cool off for push notification prompts
365 days
pushPermState
Used across multiple LinkedIn services to determine the user's push notification permission preference
30 days
ln_or
Used to determine if Oribi analytics can be carried out on a specific domain
1 day
chp_token
Used to denote whether the user has gone through two factor authentication or solved a Captcha.
Session
li_sugr
Used to make a probabilistic match of a user's identity outside the Designated Countries
90 days
lidc
Used by the social networking service, LinkedIn, for tracking the use of embedded services.
1 day
sdsc
This cookie is used for signed data service context cookie used for database routing to ensure consistency across all databases when a change is made. Used to ensure that user-inputted content is immediately available to the submitting user upon submission
Session
bcookie
Used by LinkedIn to track the use of embedded services.
1 year
li_mc
This cookie is used as a temporary cache to avoid database lookups for a member's consent for use of non-essential cookies and used for having consent information on the client side to enforce consent on the client side
6 months
PLAY_FLASH
Used by some LinkedIn services to facilitate the display of messages on page transitions . Users include notifying a user when a form is successfully submitted or fails , and to provide other similar notifications.
Session
li_referer
Used to detect bots. Cookie remembers the referring website before redirecting the user to captcha for authorization
15 minutes
f_token
Used to detect bots for anti-scraping
3 minutes
li_apfcdc
Used for triggering the abuse prevention features on member device.
10 hours
li_odapfcc
Used to control the number of abuse prevention features collected from member device.
2 Years
ac_L
Counts the number of times the account center banner, which is displayed to inform users with an incomplete profile how to complete their profile, was closed by a user to determine display logic
180 days
ac_LD
Contains the date when the account center was displayed to a user to determine display logic
180 days
recent_history_status
Used to determine whether a user enabled or disabled the Guest Recent History Setting
10 years
all_u_b
To know if a user has opted in to viewing LinkedIn on an unsupported browser
21 days
uh
Used to set the user preference for the mobile web platform via a user's settings
Session
abiRedirect
Enables import of address book during onboarding flow for users who choose to import their address book
Session
wwepo
Used to ensure that useres who choose to sign up using phone only have that setting and preference respected
90 days
li_cu
Used to map a user to a captcha challenge page
15 minutes
li_ec
Used to store unbound enterprise users' cookie consent
6 months
denial-client-ip
Stores user IP address for anti-scraping and DOS prevention
5 seconds
li_gpc
Used to remember a user's preferences on LinkedIn's Global Privacy Control
1 hour
denial-reason-code
Used for anti-scraping and DOS prevention
5 seconds
li_gp
Stores privacy preferences for guests to LinkedIn
1 year
rtc
Used as part of anti-abuse processes on LinkedIn
120 seconds
redirectFromM2MInviteSent
Used to notify and provide the appropriate profile display logic when the user sends an invitation to connect on LinkedIn from a LinkedIn member via email.
Session
queryString
This cookie is used to persist marketing tracking parameters
15 days
cookie.policy.banner.eu
Used to display cookie banner in LinkedIn Lite
365 days
cookie.policy.banner.nl
Used to display cookie banner in LinkedIn Lite on the Netherlands site.
365 days
appName
Used to identify the source as the LinkedIn Lite app to send the right service worker to the app
Session
appLang
Used to set the right language on the LinkedIn Lite app
Session
lls-integration
Validates whitelisted partners for content integrations
30 days
feed-sort
Used to remember a member's preference how the feed should be sorted
1 day
integration_type
Used to determine which integration traffic is coming from to render the profile namecard experience
30 days
li_theme_set
Remembers which users have updated their display / theme preferences
6 months
PLAY_LANG
Used by some LinkedIn services to remember a user's language preference
Session
lms_analytics
Used to identify LinkedIn Members off LinkedIn for analytics
30 days
PLAY_SESSION
Used by some LinkedIn services to store session information
Session
li_fat_id
Member indirect identifier for Members for conversion tracking, retargeting, analytics
30 days
redirectFromM2MInviteAccept
Determines the appropriate profile display logic when a user accepts an invitation to connect on LinkedIn from a LinkedIn member via email.
Session
li_giant
Indirect indentifier for groups of LinkedIn Members used for conversion tracking
7 days
sharebox-suggestion
Displays a banner that provides help text to first time users of the Elevate share box
Session
li_cc
Used to ensure a user's phone number is inputted in China
1 week
lss_bundle_viewer
Stores consent when a user agrees to view a Smartlinks link
1 month
interstitial_page_reg_oauth_url
Stores the referring page to ensure the Authentication screen displays correctly
1 day
df_ts
Device fingerprinting sampling for performance optimization
1 day
lil-lang
Stores user's selected language setting for LinkedIn Learning
Session
li_alerts
Used to track impressions of LinkedIn alerts, such as the Cookie Banner and to implement cool off periods for display of alerts
1 year
li_theme
Remembers a user's display preference/theme setting
6 months
li_feed_xray
Used to show new items in developer option 'Feed X-ray'
Session
VID
ID associated with a visitor to a LinkedIn microsite which is used to determine conversions for lead gen purposes
1 year
recent_history
Used to remember URLs visited by the guest to show the pages back where they left off
90 days
Marketing cookies are used to follow visitors to websites. The intention is to show ads that are relevant and engaging to the individual user.
Name
Description
Duration
affwp_campaign
Stores the affiliate campaign name for tracking purposes.
30 days
affwp_ref
Stores the referring affiliate ID for commission attribution.
30 days
affwp_ref_visit_id
Stores the visit ID linked to the referring affiliate.
30 days
LinkedIn Insight is a web analytics service that tracks and reports website traffic.