=== Sympl Repeater for ACF and Elementor === Contributors: Sympl Donate link: https://www.paypal.com/donate/?hosted_button_id=GD9PZHTB5PBR8 Tags: elementor, acf, repeater, advanced custom fields, dynamic content Requires at least: 5.0 Tested up to: 7.1 Stable tag: 2.3.1 Requires PHP: 7.4 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html Seamlessly integrate ACF Repeater fields with Elementor widgets and sections for dynamic, repeatable content blocks. == Description == **ACF Repeater For Elementor** bridges the gap between Advanced Custom Fields (ACF) Pro repeater functionality and Elementor's visual builder. This powerful plugin allows you to create dynamic, repeatable content sections without complex coding. ### Important! Doesn't work with elementor widget cache feature (Need to be turned off) ### 🚀 Key Features * **Easy Integration**: Connect ACF repeater fields directly with Elementor widgets * **Dynamic Content**: Automatically populate Elementor elements with ACF repeater data * **Flexible Usage**: Works with columns, sections, and individual widgets * **Legacy Compatible**: Maintains backward compatibility with existing implementations * **Hide Widget on Empty Fields**: Hide elements and containers based on empty ACF fields conditions ### 🎯 Perfect For * Dynamic testimonial sections * Portfolio galleries * FAQ accordions * Team member listings * Product showcases * Any repeatable content structure ### 📋 Requirements * WordPress 5.0 or higher * Elementor (free version) * Elementor Pro (Optional but recommended for full features) * Advanced Custom Fields (ACF) Pro == Installation == 1. Upload the plugin files to `/wp-content/plugins/sympl-repeater-for-acf-and-elementor/` directory 2. Activate the plugin through the 'Plugins' screen in WordPress 3. Ensure you have Elementor, Elementor Pro, and ACF Pro installed and activated 4. Start using ACF repeater fields in your Elementor designs! == How To Use == ### Usage 1. **Create ACF Repeater Field**: Set up your repeater field in ACF with sub-fields 2. **Select the repeater**: In Elementor, widget, section or ACF Repeater loop set the ACF repeater field - You will be able to select the repeater field from 'Advanced' settings tab in the Elementor editor 3. **Insert Field Placeholders**: Use `#field_name` syntax within your content - Replace `field_name` with your ACF sub-field names 4. **Publish**: The plugin automatically replaces placeholders with repeater data ### Example Implementation **ACF Repeater Setup:** - Repeater name: `team_members` - Sub-fields: `member_name`, `member_role`, `member_bio` **Elementor Setup:** - Select the field in the Advanced settings for a container: `team_members` - Content: `#member_name`, `#member_role`, `#member_bio` as a Heading widget or Text Editor widget ### Special Features **Accordion/Toggle Support:** Add new Accordion widget to the page, set the ACF Repeater field in the widget's advanced settings, and use the sub-field names as placeholders as described above. The plugin will automatically structure these for accordion/toggle widgets. ### Hide Widget on Empty ACF Fields You can now hide widgets based on empty ACF fields. Follow these steps: 1. **Select the Widget**: Choose the widget you want to hide if an ACF field is empty. 2. **Advanced Settings**: Go to the 'Advanced' settings tab in Elementor editor. 3. **Hide on Empty Field**: Enable the option to hide the widget if an ACF field is empty. 4. **Choose Field**: Select the ACF field you want to check for emptiness. The widget will be hidden if the selected ACF field is empty. == Legacy Usage == For backward compatibility, the old class naming convention is still supported: - Setup by old class name: `repeater_` for the widget or container - Same placeholder syntax: `#field_name` == Supported Field Types == * Text fields * URL fields * WYSIWYG Editor content * Accordion/Toggle content (with specific field names) **Note**: Currently optimized for Elementor native elements. Third-party widgets may require additional configuration. == Frequently Asked Questions == = Does this work with the free version of Elementor? = You need both Elementor free AND Elementor Pro, plus ACF Pro for full functionality. = Can I use this with custom post types? = Yes! The plugin works with any post type where you've assigned ACF repeater fields. = What happens if my repeater field is empty? = The element with the repeater class simply won't display any repeated content. = Can I style the repeated elements? = Absolutely! All standard Elementor styling options apply to your repeated elements. = Is this compatible with Elementor templates? = Yes, you can use ACF repeaters in Elementor templates, theme builder layouts, and popup templates. == Screenshots == 1. ACF Repeater field setup in WordPress admin 2. Elementor widget with repeater set 3. Widget repeater sub-fields in Elementor editor 4. Repeater field in the page editor 5. Frontend display of repeated content == Changelog == = 2.3.1 = (18/10/2026) Security: fixes CVE-2026-10570 (stored XSS). Repeater values are now escaped according to where the #placeholder sits: HTML in text is filtered like post content (wp_kses), attribute values are attribute-escaped, URL attributes (href/src/...) reject javascript:/data: schemes, and values inside