Raeen Repeater Field for ACF
Raeen Repeater Field for ACF adds a native-feeling Repeater field type to the free version of Advanced Custom Fields (ACF). It stores data in the same flat postmeta format used by ACF Pro, so all standard template functions work out of the box.
Key Features:
- Drag & Drop Reordering: Intuitive row sorting powered by jQuery UI Sortable
- Row Operations: Add, remove, duplicate rows
- All ACF Free field types: Text, Textarea, Number, Email, URL, Image, File, WYSIWYG, Select, Radio, Checkbox, True/False, Date Picker, Color Picker, Link, and more
- Nested Repeaters: Repeater fields can contain other repeater fields
- get_field() compatible: Uses ACF Pro-compatible flat meta storage —
get_field(),have_rows(),the_row(), andget_sub_field()all work natively - ACF JSON Sync: Full compatibility with ACF’s field group JSON export/import
- REST API Support: Exposes repeater data through the WordPress REST API
- Gutenberg & Classic Editor: Works in both editors
- Multisite Compatible: Network activatable
- Internationalization Ready: Full translation support (text domain:
repeater-field-for-acf) - Accessibility Ready: Proper ARIA labels and keyboard support
Data Storage (ACF Pro-compatible):
Data is stored using ACF Pro’s flat postmeta format:
{field_name}→ row count (integer){field_name}_{i}_{sub_field_name}→ sub-field value for rowi_{field_name}_{i}_{sub_field_name}→ sub-field key reference
This means all ACF template functions work without modification:
`php
$rows = get_field( ’my_repeater’ ); if ( have_rows( ’my_repeater’ ) ) { while ( have_rows( ’my_repeater’ ) ) { the_row(); $name = get_sub_field( ’name’ ); } } `
Source Code & Development
This plugin is developed in the open. The complete source code and build tooling are available at:
- GitHub repository: https://github.com/raeenzubair/repeater-field-for-acf
The unminified JavaScript and CSS sources used to generate the compiled assets under assets/dist/ are bundled in the plugin under src/. To rebuild the compiled assets from source:
`bash
npm install npm run build `
Run the test suite and code quality checks with:
`bash
npm test # JavaScript unit tests composer test # PHP unit tests composer phpcs # PHP coding standards composer phpstan # PHP static analysis `
