WP Manifestindependent plugin directory
manifest / content / acf-repeater-gallery-extended

ACF Repeater & Gallery Extended

Adds Repeater and Gallery field types to ACF free with power-user enhancements.

by Anisur Rahman · github.com/anisur2805/acf-repeater-gallery-extended · website

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/anisur2805/acf-repeater-gallery-extended/archive/refs/heads/master.zip

Readme

ACF Repeater & Gallery Extended

A WordPress plugin that adds Repeater and Gallery custom field types to ACF free — features normally locked behind ACF Pro — plus power-user enhancements. Built test-first.

Requirements

  • PHP 8.1+
  • WordPress 6.0+
  • Advanced Custom Fields (free) 6.0+

The plugin self-deactivates with an admin notice if ACF is missing or incompatible. It never fatals.

What ships in v0.1

  • Plugin bootstrap with ACF ≥ 6.0 guard and lifecycle hooks.
  • Repeater (Extended) field type registered in ACF free.
  • Gallery (Extended) field type registered in ACF free with multi-select, min/max, return formats (array/URL/ID), and drag-to-reorder.
  • ACF-compatible storage for repeater rows ({field} count, {field}_{index}_{subfield} values, reference keys).
  • Server-side min/max row validation with ACF validation errors.
  • Deterministic row reordering.
  • Admin repeater UI with add/remove, move up/down, and drag-and-drop reorder.
  • Unit tests for pure logic (RowStore, RowRules).
  • Integration tests for field registration and repeater save/load/validation.
  • PHPCS, PHPStan, PHPUnit, and GitHub Actions CI scaffolding.

Installation

  1. Clone or unzip into wp-content/plugins/acf-repeater-gallery-extended.
  2. Run composer install.
  3. Activate the plugin in wp-admin.

Development

# PHP unit tests + static gates
composer install
composer run test:unit
composer run lint:php
composer run static:php

# JS/CSS build and lint (requires npm)
npm install
npm run build
npm run lint:js
npm run lint:css

# Integration tests (requires Docker + wp-env)
npx wp-env start
npm run test:integration
npx wp-env stop

Architecture

  • src/Plugin.php wires ACF field-type registration.
  • src/Fields/RepeaterField.php implements the repeater field type.
  • src/Fields/GalleryField.php implements the gallery field type.
  • src/Repeater/RowStore.php and src/Repeater/RowRules.php are pure, unit-tested classes.
  • assets/src/admin/repeater/ and assets/src/admin/gallery/ contain the admin JS/CSS source.
  • build/ contains the built admin assets.

License

GPL-2.0-or-later

Read the full README on GitHub →