← Back to Documentation

Field Settings

Click the Start marker field in the form editor to access these settings.

Group Name

A unique identifier for the group. Auto-generated but editable. Used in entry meta (gfr_rows_groupname), merge tags ({gfr_rows:groupname}), REST API responses, and HTML data attributes (data-group).

Row Limits [Pro]

Max Rows

Maximum rows a user can add. Range: 1-50. Default: 3. Enforced client-side and server-side.

Min Rows

Minimum required rows. Remove button is hidden below this threshold. Validation fails if fewer rows are submitted.

Override via code

add_filter( 'gfr_max_rows', function( $default, $field, $form ) {
    if ( $field->gfr_group_name === 'passengers' ) return 10;
    return $default;
}, 10, 3 );

add_filter( 'gfr_min_rows', function( $default, $field, $form ) {
    return 2;
}, 10, 3 );

Button Labels [Pro]

Customize “Add” and “Remove” button text per group. Defaults: Add and Remove.

add_filter( 'gfr_add_text', fn( $d ) => 'Add Passenger', 10, 3 );
add_filter( 'gfr_remove_text', fn( $d ) => 'Delete', 10, 3 );

Copy Row [Pro]

Duplicate a row with all values pre-filled. Settings: enable checkbox + optional label (default: Copy). Override via gfr_copy_text filter.

Collapse/Expand Rows [Pro]

Toggle button collapses row fields while keeping the header and action buttons visible. Uses aria-expanded attribute and .gfr-collapsed CSS class.

Drag-to-Reorder [Pro]

Drag handle on each row for reordering. After drop, all input names and IDs are automatically re-indexed.

Row Numbering [Pro]

Dynamic label per row. Template tokens: {n} (row number, 1-based), {total} (total rows). Example: Person {n} of {total}.

Conditional Row Limits [Pro]

Set max rows dynamically based on another field’s value. Select a number field — its value becomes the max at runtime, clamped between min and hard max.

Also injects a hidden input tracking row count, enabling GF’s native conditional logic to reference the repeater group.

End Marker

No configurable settings. Group name auto-syncs with the Start marker.