{"id":397479,"date":"2026-11-06T08:21:31","date_gmt":"2026-11-06T08:21:31","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/repeaterkit-repeater-fields-for-acf\/"},"modified":"2026-11-06T09:32:17","modified_gmt":"2026-11-06T09:32:17","slug":"repeaterkit","status":"publish","type":"plugin","link":"https:\/\/fa.wordpress.org\/plugins\/repeaterkit\/","author":23244717,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1.4","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"RepeaterKit - Repeater Fields for ACF","header_author":"Shubhadip Bhowmik","header_description":"A lightweight, accessible, and reliable repeater field type for Advanced Custom Fields (ACF) and Secure Custom Fields (SCF). Create repeating rows for FAQs, specs, team members, testimonials, and structured content.","assets_banners_color":"496072","last_updated":"2026-11-06 09:32:17","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/repeaterkit\/","header_author_uri":"https:\/\/profiles.wordpress.org\/shubhadipbhowmikdev\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":138,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"shubhadipbhowmikdev","date":"2026-11-06 09:32:17","revision":3787601}},"upgrade_notice":{"1.0.0":"<p>Initial release of RepeaterKit. Enjoy fast, accessible repeaters on ACF Free and SCF!<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3787451,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3787451,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3787451,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3787451,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3787451,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3787451,"resolution":"1","location":"assets","locale":"","width":1280,"height":720},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3787451,"resolution":"2","location":"assets","locale":"","width":1280,"height":1350},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3787451,"resolution":"3","location":"assets","locale":"","width":1280,"height":1915},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3787451,"resolution":"4","location":"assets","locale":"","width":1280,"height":2428}},"screenshots":{"1":"RepeaterKit field in edit screen with Table layout and row reordering.","2":"Block layout with collapsible rows and live summary text.","3":"Subfield builder inside the ACF Field Group editor.","4":"JSON Export and Import modal in action."}},"plugin_section":[],"plugin_tags":[2211,2010,2235,2244,291097],"plugin_category":[59],"plugin_contributors":[291098],"plugin_business_model":[],"class_list":["post-397479","plugin","type-plugin","status-publish","hentry","plugin_tags-acf","plugin_tags-custom-fields","plugin_tags-fields","plugin_tags-repeater","plugin_tags-repeaters","plugin_category-utilities-and-tools","plugin_contributors-shubhadipbhowmikdev","plugin_committers-shubhadipbhowmikdev"],"banners":{"banner":"https:\/\/ps.w.org\/repeaterkit\/assets\/banner-772x250.png?rev=3787451","banner_2x":"https:\/\/ps.w.org\/repeaterkit\/assets\/banner-1544x500.png?rev=3787451","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/repeaterkit\/assets\/icon.svg?rev=3787451","icon":"https:\/\/ps.w.org\/repeaterkit\/assets\/icon.svg?rev=3787451","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/repeaterkit\/assets\/screenshot-1.png?rev=3787451","caption":"RepeaterKit field in edit screen with Table layout and row reordering."},{"src":"https:\/\/ps.w.org\/repeaterkit\/assets\/screenshot-2.png?rev=3787451","caption":"Block layout with collapsible rows and live summary text."},{"src":"https:\/\/ps.w.org\/repeaterkit\/assets\/screenshot-3.png?rev=3787451","caption":"Subfield builder inside the ACF Field Group editor."},{"src":"https:\/\/ps.w.org\/repeaterkit\/assets\/screenshot-4.png?rev=3787451","caption":"JSON Export and Import modal in action."}],"raw_content":"<!--section=description-->\n<p><strong>RepeaterKit<\/strong> adds an independent, high-performance repeater field type to the free versions of <strong>Advanced Custom Fields (ACF)<\/strong> and <strong>Secure Custom Fields (SCF)<\/strong>.<\/p>\n\n<p>Build repeatable rows of structured content - such as FAQs, customer testimonials, team rosters, pricing matrices, specifications, and project highlights.<\/p>\n\n<h3>Why RepeaterKit?<\/h3>\n\n<ul>\n<li><strong>Clean Single-Meta Storage:<\/strong> Stores repeater data in a single clean, structured postmeta record for high performance and zero database clutter.<\/li>\n<li><strong>Accessibility-First (WCAG 2.2 AA):<\/strong> Built for keyboard navigation, screen readers, and low-vision users. Includes accessible button headers, live announcements via <code>wp.a11y.speak<\/code>, and keyboard-operable reordering.<\/li>\n<li><strong>Three Flexible Layouts:<\/strong> Table, Block, and Row layouts designed to fit seamlessly into the native WordPress administrative interface.<\/li>\n<li><strong>Extensive Subfield Support:<\/strong> Supports Text, Textarea, Number, Email, URL, True\/False, Select, Checkbox, Radio, Color Picker, Date Picker, Image, File, WYSIWYG Editor, Time Picker, and more.<\/li>\n<li><strong>JSON Import &amp; Export:<\/strong> Easily back up, duplicate, or migrate row data across sites with one-click JSON export and import.<\/li>\n<li><strong>100% Free &amp; Private:<\/strong> No telemetry, no remote tracking, no external API calls, and zero upsells.<\/li>\n<\/ul>\n\n<h3>Developer-Friendly Template API<\/h3>\n\n<p>RepeaterKit includes a stable, documented, namespaced template loop API:<\/p>\n\n<pre><code>&lt;?php if ( repeaterkit_have_rows( 'faq_list' ) ) : ?&gt;\n    &lt;div class=\"faq-accordion\"&gt;\n        &lt;?php while ( repeaterkit_have_rows( 'faq_list' ) ) : repeaterkit_the_row(); ?&gt;\n            &lt;div class=\"faq-item\"&gt;\n                &lt;h3&gt;&lt;?php repeaterkit_the_sub_field( 'question' ); ?&gt;&lt;\/h3&gt;\n                &lt;div class=\"faq-answer\"&gt;\n                    &lt;?php repeaterkit_the_sub_field( 'answer', 'wysiwyg' ); ?&gt;\n                &lt;\/div&gt;\n            &lt;\/div&gt;\n        &lt;?php endwhile; ?&gt;\n    &lt;\/div&gt;\n&lt;?php endif; ?&gt;\n<\/code><\/pre>\n\n<p>Alternatively, standard <code>get_field( 'faq_list' )<\/code> returns the complete formatted array of rows.<\/p>\n\n<h3>Disclaimer<\/h3>\n\n<p>RepeaterKit is an independent open-source plugin. RepeaterKit is not affiliated with, endorsed by, or sponsored by Advanced Custom Fields (ACF), WP Engine, or WordPress.org. \"ACF\" and \"Advanced Custom Fields\" are registered trademarks of their respective owners.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>repeaterkit<\/code> directory to the <code>\/wp-content\/plugins\/<\/code> directory, or install directly through the WordPress Plugins screen.<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress.<\/li>\n<li>Ensure Advanced Custom Fields (ACF Free 6.0+) or Secure Custom Fields (SCF) is active.<\/li>\n<li>Go to <strong>ACF &gt; Field Groups<\/strong>, create or edit a field group, and select <strong>RepeaterKit Repeater<\/strong> as the field type.<\/li>\n<li>Add your subfields, configure the layout, and save.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20repeaterkit%20require%20acf%20pro%3F\"><h3>Does RepeaterKit require ACF Pro?<\/h3><\/dt>\n<dd><p>No. RepeaterKit works directly with ACF Free and Secure Custom Fields.<\/p><\/dd>\n<dt id=\"does%20repeaterkit%20work%20with%20native%20have_rows%28%29%3F\"><h3>Does RepeaterKit work with native have_rows()?<\/h3><\/dt>\n<dd><p>RepeaterKit uses its own lightweight, single-record database storage model rather than ACF Pro's multi-row metadata architecture. For optimal performance and zero conflicts, please use <code>repeaterkit_have_rows()<\/code>, <code>repeaterkit_the_row()<\/code>, and <code>repeaterkit_the_sub_field()<\/code>, or retrieve rows directly with <code>get_field()<\/code>.<\/p><\/dd>\n<dt id=\"are%20nested%20repeaters%20supported%20in%20version%201.0%3F\"><h3>Are nested repeaters supported in version 1.0?<\/h3><\/dt>\n<dd><p>Nested repeaters (a repeater inside another repeater) are out of scope for the 1.0.0 release. They are planned for an upcoming release following dedicated performance and UX testing.<\/p><\/dd>\n<dt id=\"what%20subfield%20types%20are%20supported%3F\"><h3>What subfield types are supported?<\/h3><\/dt>\n<dd><p>Text, Text Area, Number, Email, URL, True\/False, Select, Checkbox, Radio, Color Picker, Date Picker, Image, File (wp.media attachments), WYSIWYG (TinyMCE), Time Picker, Date-Time Picker, Range, Button Group, and Link.<\/p><\/dd>\n<dt id=\"does%20repeaterkit%20collect%20analytics%20or%20make%20external%20calls%3F\"><h3>Does RepeaterKit collect analytics or make external calls?<\/h3><\/dt>\n<dd><p>No. RepeaterKit makes zero external HTTP requests, tracks no telemetry, and respects complete user privacy.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial public release.<\/li>\n<li>Field type <code>repeaterkit_repeater<\/code> with Table, Block, and Row layouts.<\/li>\n<li>Subfields builder in ACF field group editor.<\/li>\n<li>Single-meta high-performance database storage engine.<\/li>\n<li>Full keyboard and screen reader accessibility (WCAG 2.2 AA).<\/li>\n<li>Per-field JSON export and import for rows.<\/li>\n<li>Public template loop API (<code>repeaterkit_have_rows<\/code>, <code>repeaterkit_the_row<\/code>, <code>repeaterkit_get_sub_field<\/code>, <code>repeaterkit_the_sub_field<\/code>).<\/li>\n<li>Zero telemetry, no external network requests.<\/li>\n<\/ul>","raw_excerpt":"A light, accessible, and reliable repeater field type for Advanced Custom Fields (ACF Free) and Secure Custom Fields (SCF).","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/397479","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=397479"}],"author":[{"embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/shubhadipbhowmikdev"}],"wp:attachment":[{"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=397479"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=397479"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=397479"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=397479"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=397479"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=397479"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}