=== Lupyx Dynamic Fields for Elementor ===
Contributors: devnexus
Tags: elementor, acf, repeater, loop grid, dynamic tags
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Render ACF Pro Repeater fields inside Elementor Pro's Loop Grid and Loop Carousel — no code required.

== Description ==

Lupyx Dynamic Fields for Elementor bridges **ACF Pro Repeater fields** with **Elementor Pro's Loop Grid and Loop Carousel** widgets.

Elementor Pro's Loop widgets natively loop over WordPress posts, terms, or products. This plugin lets them loop directly over rows of an ACF Pro Repeater field — without mock posts, duplicate entries, or fragile workarounds.

Each repeater row becomes an item in your loop, and dedicated Elementor Dynamic Tags (under **ACF Repeater (Lupyx)**) display sub-field values inside your Loop Item Template.

== Key Features ==

* **Loop Grid & Loop Carousel**: Adds ACF Repeater query controls to both widgets under a clear **Lupyx Dynamic Fields** heading.
* **Current Post Only**: Optionally restrict rows to the current post, page, or custom post type.
* **Nine Dedicated Dynamic Tags**:
    * **ACF Repeater Text / Textarea**: text and textarea sub-fields.
    * **ACF Repeater Email**: email sub-fields as plain text.
    * **ACF Repeater Email URL**: email sub-fields as `mailto:` links for buttons and URL controls.
    * **ACF Repeater WYSIWYG**: rich text (WYSIWYG) and oEmbed sub-fields.
    * **ACF Repeater Image**: image sub-fields (Array, URL, and ID return formats).
    * **ACF Repeater URL / Link**: URL, link, page link, and file sub-fields; optional clickable HTML link for Text widgets.
    * **ACF Repeater Number**: number and range sub-fields.
    * **ACF Repeater Date / Time**: date, datetime, and time picker sub-fields.
    * **ACF Repeater Post Title**: parent post title for the current repeater row.
* **Filter-Driven Architecture**: Modular Field Type Provider system for clean extensibility.
* **Safe Uninstall**: Leaves no database clutter when removed.

== Requirements ==

* **WordPress**: 6.5 or higher
* **PHP**: 7.4 or higher
* **Elementor**: 3.21.0 or higher
* **Elementor Pro**: 3.21.0 or higher
* **Advanced Custom Fields Pro**: 6.0.0 or higher

== Installation ==

1. Upload the `lupyx-dynamic-fields-for-elementor` folder to the `/wp-content/plugins/` directory.
2. If installing from source, run `composer install --no-dev --optimize-autoloader` in the plugin directory to generate the autoloader.
3. Activate the plugin through the **Plugins** menu in WordPress.
4. Ensure **Elementor**, **Elementor Pro**, and **ACF Pro** are active.

== How to Use ==

= 1. Create a Loop Item Template =
1. Go to **Templates → Theme Builder → Loop Item** and create a new template.
2. Design your card layout with standard Elementor widgets.
3. For any field that supports dynamic data, click the **Dynamic Tags** icon.
4. Under **ACF Repeater (Lupyx)**, choose the matching **ACF Repeater** tag.
5. Select the parent **Repeater Field** and the target **Sub-Field** (Post Title needs no sub-field).
6. Save and publish the Loop Item Template.

= 2. Configure the Loop Grid or Loop Carousel =
1. Edit your page in Elementor and add a **Loop Grid** or **Loop Carousel** widget.
2. Open the **Query** section.
3. Under **Lupyx Dynamic Fields**, turn on **Use ACF Repeater**.
4. Select the ACF Repeater Field from the dropdown.
5. Optionally keep **Current Post Only** enabled to restrict rows to the current post context.
6. Select your Loop Item Template.

== Frequently Asked Questions ==

= Does this plugin work with the free version of ACF? =
No. ACF Repeater fields are an ACF Pro feature, so Advanced Custom Fields Pro (6.0.0+) is required.

= Does this work with Elementor Free? =
The Loop Grid widget and Dynamic Tags are Elementor Pro features, so Elementor Pro (3.21.0+) is required.

= How are dates formatted? =
Sub-field values use the return format configured in your ACF field settings.

= How do I show an email as a clickable link? =
Use **ACF Repeater Email URL** on a Button or link/URL control. Use **ACF Repeater Email** when you only need the address as text.

= Can I add support for other custom field types? =
Yes. The plugin uses an extensible `Field_Type_Contract` provider interface with the `loop_dynamic_fields/register_providers` hook.

== Changelog ==

= 1.0.0 =
* Loop Grid and Loop Carousel support with Lupyx-branded Query controls.
* Nine ACF Repeater Dynamic Tags: Text/Textarea, Email, Email URL, WYSIWYG, Image, URL/Link, Number, Date/Time, and Post Title.
* Dedicated Email and Email URL tags (separate from text fields).
* URL/Link tag options for clickable HTML links in Text widgets.
* Public release.

= 0.0.2 =
* Update plugin name, slug, and prefix.

= 0.0.1 =
* Update plugin name, slug, and prefix.
* Update Author and Plugin URI.

= 0.0.0 =
* Initial development release.
