{"id":390546,"date":"2026-10-31T03:51:56","date_gmt":"2026-10-31T03:51:56","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/acf-custom-repeater-field\/"},"modified":"2026-10-31T04:00:20","modified_gmt":"2026-10-31T04:00:20","slug":"codekosh-custom-repeater-field","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/codekosh-custom-repeater-field\/","author":23106195,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"3.2.1","stable_tag":"3.2.1","tested":"7.1.4","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Codekosh Custom Repeater Field for Advanced Custom Fields","header_author":"Codekosh","header_description":"A lightweight tabular custom repeater field extension for Advanced Custom Fields (ACF).","assets_banners_color":"495976","last_updated":"2026-10-31 04:00:20","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/codekosh.com\/","header_plugin_uri":"","header_author_uri":"https:\/\/codekosh.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":56,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"3.2.1":{"tag":"3.2.1","author":"codekosh","date":"2026-10-31 04:00:20","revision":3776320}},"upgrade_notice":{"3.2.1":"<p>WordPress.org review team guideline compliance release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.jpg":{"filename":"icon-128x128.jpg","revision":3776582,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.jpg":{"filename":"icon-256x256.jpg","revision":3776582,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.jpg":{"filename":"banner-1544x500.jpg","revision":3776582,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":3776582,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["3.2.1"],"block_files":[],"assets_screenshots":{"screenshot-1-de.jpg":{"filename":"screenshot-1-de.jpg","revision":3776582,"resolution":"1","location":"assets","locale":"de","width":2752,"height":1536},"screenshot-1.jpg":{"filename":"screenshot-1.jpg","revision":3776582,"resolution":"1","location":"assets","locale":"","width":2752,"height":1536},"screenshot-2-de.jpg":{"filename":"screenshot-2-de.jpg","revision":3776582,"resolution":"2","location":"assets","locale":"de","width":2752,"height":1536},"screenshot-2.jpg":{"filename":"screenshot-2.jpg","revision":3776582,"resolution":"2","location":"assets","locale":"","width":2752,"height":1536}},"screenshots":{"1":"Field Group Settings showing line-by-line column definitions.","2":"Post Edit Screen displaying dynamic rows with drag-and-drop handles, media pickers, and WYSIWYG editors."}},"plugin_section":[],"plugin_tags":[2217,2010,289869,125397,2303],"plugin_category":[46],"plugin_contributors":[289870],"plugin_business_model":[],"class_list":["post-390546","plugin","type-plugin","status-publish","hentry","plugin_tags-advanced-custom-fields","plugin_tags-custom-fields","plugin_tags-custom-repeater","plugin_tags-repeater-field","plugin_tags-wysiwyg","plugin_category-editor-and-writing","plugin_contributors-codekosh","plugin_committers-codekosh"],"banners":{"banner":"https:\/\/ps.w.org\/codekosh-custom-repeater-field\/assets\/banner-772x250.jpg?rev=3776582","banner_2x":"https:\/\/ps.w.org\/codekosh-custom-repeater-field\/assets\/banner-1544x500.jpg?rev=3776582","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/codekosh-custom-repeater-field\/assets\/icon-128x128.jpg?rev=3776582","icon_2x":"https:\/\/ps.w.org\/codekosh-custom-repeater-field\/assets\/icon-256x256.jpg?rev=3776582","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/codekosh-custom-repeater-field\/assets\/screenshot-1.jpg?rev=3776582","caption":"Field Group Settings showing line-by-line column definitions."},{"src":"https:\/\/ps.w.org\/codekosh-custom-repeater-field\/assets\/screenshot-2.jpg?rev=3776582","caption":"Post Edit Screen displaying dynamic rows with drag-and-drop handles, media pickers, and WYSIWYG editors."}],"raw_content":"<!--section=description-->\n<p><strong>Codekosh Custom Repeater Field for Advanced Custom Fields<\/strong> by <a href=\"https:\/\/codekosh.com\/\">Codekosh<\/a> adds a lightweight and dependable custom repeater field type to Advanced Custom Fields.<\/p>\n\n<p>This plugin is an independent extension and is not affiliated with, sponsored by, or endorsed by WP Engine, Advanced Custom Fields, or ACF.<\/p>\n\n<h3>Key Features<\/h3>\n\n<ul>\n<li><strong>Multiple Column Field Types:<\/strong> Supports Text, URL, Date, Textarea, WYSIWYG Editor (TinyMCE and Quicktags), Image (WordPress Media Library integration), and Select dropdowns.<\/li>\n<li><strong>WYSIWYG Rich Text Editor:<\/strong> Embeds formatting controls (bold, lists, links) inside repeater rows.<\/li>\n<li><strong>Drag-and-Drop Sorting:<\/strong> Reorder rows intuitively using jQuery UI Sortable.<\/li>\n<li><strong>Safe HTML5 Template Engine:<\/strong> Clean row cloning ensuring newly added rows start empty.<\/li>\n<li><strong>Theme Template Integration:<\/strong> Retrieve rows simply using standard <code>get_field()<\/code> in your theme templates.<\/li>\n<li><strong>WordPress Coding Standards Compliant:<\/strong> Structured following WordPress sanitization and output escaping practices.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Ensure <strong>Advanced Custom Fields<\/strong> (version 5.8 or higher) is installed and active.<\/li>\n<li>In your WordPress admin dashboard, navigate to <strong>Plugins &gt; Add New<\/strong>.<\/li>\n<li>Search for <strong>Codekosh Custom Repeater Field for Advanced Custom Fields<\/strong> or upload the <code>.zip<\/code> file.<\/li>\n<li>Click <strong>Install Now<\/strong> and activate the plugin.<\/li>\n<li>Navigate to <strong>ACF &gt; Field Groups<\/strong>, create or edit a field group, and select <strong>Custom Repeater<\/strong> under the <em>Relational<\/em> category.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20require%20acf%20pro%3F\"><h3>Does this require ACF PRO?<\/h3><\/dt>\n<dd><p>No. This extension functions alongside both the free version of Advanced Custom Fields and ACF PRO.<\/p><\/dd>\n<dt id=\"how%20do%20i%20configure%20columns%3F\"><h3>How do I configure columns?<\/h3><\/dt>\n<dd><p>In your Field Group settings, specify columns line-by-line:\n    field_name : Field Label : field_type<\/p>\n\n<p>Example:\n    btn_name : Button Name : text\n    btn_url : Button URL : url\n    body_content : Content : wysiwyg\n    event_date : Event Date : date\n    banner_img : Banner Image : image\n    status : Status : select[Active, Inactive, Pending]<\/p><\/dd>\n<dt id=\"how%20do%20i%20query%20the%20repeater%20in%20theme%20templates%3F\"><h3>How do I query the repeater in theme templates?<\/h3><\/dt>\n<dd><p>Call standard <code>get_field()<\/code>:<\/p>\n\n<pre><code>$items = get_field( 'your_repeater_field_name' );\nif ( ! empty( $items ) ) {\n    foreach ( $items as $item ) {\n        echo '&lt;h3&gt;' . esc_html( $item['btn_name'] ) . '&lt;\/h3&gt;';\n        echo '&lt;div class=\"content\"&gt;' . $item['body_content'] . '&lt;\/div&gt;';\n    }\n}\n<\/code><\/pre><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>3.2.1<\/h4>\n\n<ul>\n<li>Renamed plugin display name and slug to comply with WordPress.org trademark guidelines.<\/li>\n<li>Removed comparative claims from the plugin description.<\/li>\n<li>Removed redundant load_plugin_textdomain() call in accordance with WordPress 4.6+ directory standards.<\/li>\n<li>Removed 404 Plugin URI header.<\/li>\n<\/ul>\n\n<h4>3.2.0<\/h4>\n\n<ul>\n<li>Added support for <code>wysiwyg<\/code> field type using WordPress native <code>wp.editor<\/code> API.<\/li>\n<li>Added HTML sanitization via <code>wp_kses_post()<\/code>.<\/li>\n<\/ul>\n\n<h4>3.1.2<\/h4>\n\n<ul>\n<li>Compliance updates for WordPress.org automated checks.<\/li>\n<\/ul>","raw_excerpt":"A lightweight tabular custom repeater field extension for Advanced Custom Fields (ACF).","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/390546","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=390546"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/codekosh"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=390546"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=390546"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=390546"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=390546"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=390546"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=390546"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}