=== Extra Fields for ACF: 30 Custom Field Types for Advanced Custom Fields ===
Contributors: ikamal
Tags: acf, advanced custom fields, custom fields, acf field types, acf addons
Requires at least: 5.6
Tested up to: 6.9
Requires PHP: 7.4
Stable tag: 1.2.3
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Add 30 new ACF field types to Advanced Custom Fields. 17 free custom field types and 13 Pro fields including ACF Gallery, ACF Map, ACF Tags, ACF oEmbed, ACF Stripe Payment, and more WordPress custom fields.

== Description ==

**Extra Fields for ACF** is the most complete Advanced Custom Fields addon and ACF extension plugin for WordPress. It adds **30 carefully crafted ACF field types** and WordPress custom fields. 17 available free and 13 exclusive to the Pro licence, covering the most common gaps in standard ACF and ACF PRO installations.

Need advanced ACF field types? Extra custom fields for WordPress? A powerful ACF addon that extends the default ACF field group editor? Extra Fields for ACF handles all of it in one plugin.

Compatible with both the free version of Advanced Custom Fields and ACF PRO. Works with WordPress 5.6 through 6.9. All 30 custom field types work inside your ACF field groups, ACF options pages, ACF repeater fields, and ACF flexible content fields.

Full documentation at [acfaddons.com/docs](https://acfaddons.com/docs).

---

= 17 Free ACF Field Types =

**Icon Picker ACF Field**
Select an icon from the Font Awesome Free library using a visual searchable picker. Returns a class string (e.g. `fas fa-home`). Ideal for navigation menus, feature sections, service listings, and Gutenberg blocks that require icon selection. A solid ACF custom field for WordPress theme developers who want icon selection without building it from scratch.

**Unit Control ACF Field**
A combined numeric input and unit selector in a single custom field, supporting px, %, em, rem, vw, vh, and more. Saves `{ value, unit }` as a JSON object. Useful for theme option panels, block spacing controls, and font size settings. One of the handier extra ACF field types for responsive design work.

**Gradient Picker ACF Field**
A visual CSS gradient builder for linear gradients with drag-and-drop colour stops and a direction control. Saves a ready-to-use CSS gradient string. Used for hero section backgrounds, block editor settings, and theme colour scheme controls. A practical ACF addon field for design-heavy WordPress projects.

**Responsive Range ACF Field**
A single custom field with three independent range sliders for Desktop, Tablet, and Mobile. Saves `{ desktop, tablet, mobile }`. Cuts out the need to create three separate ACF range fields for responsive values. One of the most requested extra ACF field types for responsive WordPress builds.

**Date Range Picker ACF Field**
Calendar-based date range selection saving `{ start, end }`. Replaces the workaround of pairing two ACF Date Picker fields together. Built for events, bookings, and availability calendars. A focused ACF field type for date-based custom fields in WordPress.

**Table ACF Field**
A fully editable grid with dynamic rows and columns, saved as structured JSON. Includes `get_table()` and `the_table()` PHP helper functions. Works well for pricing tables, product spec sheets, and sports statistics. One of the more versatile extra ACF custom field types for structured data in WordPress.

**Country Selector ACF Field**
A complete ISO 3166-1 country dropdown with all 249 countries pre-populated as a bundled PHP array, no API key needed. Returns the ISO alpha-2 code (e.g. `BD`). Useful for user profiles, member directories, and event registration. A practical ACF addon custom field for international WordPress sites.

**Phone Number ACF Field**
International phone input powered by intl-tel-input with country dial code selector and flag icons. Returns the full E.164 formatted number. Works well for contact forms, business directories, and booking systems. A focused ACF field type that extends the standard ACF text field for phone inputs.

**Markdown ACF Field**
A Markdown editor with toolbar and live preview, powered by EasyMDE. Saves raw Markdown. Good for documentation, blog posts, and developer-focused content workflows. An ACF field type not available in standard Advanced Custom Fields or ACF PRO.

**Star Rating ACF Field**
Click-to-rate star widget, up to 5 stars free or 1-10 stars with half-star support in Pro. Returns an integer. Used for testimonials, product reviews, and scored content. One of the more popular extra ACF field types for review and rating custom fields in WordPress.

**Nav Menu Selector ACF Field**
Pick from any registered WordPress navigation menu. Returns the menu ID, slug, or name. Useful for dynamically assigning menus to templates or post types. A handy ACF addon field that extends Advanced Custom Fields with WordPress menu selection.

**JSON ACF Field**
Syntax-highlighted JSON editor with real-time validation, powered by CodeMirror. Saves a JSON string. Good for API configs, settings objects, and developer-facing structured data. A developer-focused ACF custom field type not found in standard ACF or ACF PRO.

**Address ACF Field**
A single structured custom field capturing street, city, state, postal code, and country, stored as a PHP array. Replaces the workaround of five separate ACF Text fields. Works for business listings, event venues, and client portals. A practical ACF field type for location-based WordPress custom fields.

**Currency ACF Field**
A searchable dropdown of all ISO 4217 currencies, bundled as a PHP array. Returns the currency code (e.g. `USD`). Useful for WooCommerce pricing fields, invoice builders, and financial tools. A focused ACF addon custom field for e-commerce and financial WordPress sites.

**Color Swatch ACF Field**
Radio choices rendered as clickable colour swatches. Colour options are defined in field settings. Works well for product variation selectors, theme palette pickers, and Gutenberg block style options. A visual ACF field type that improves on standard ACF radio and select fields.

**Button Group ACF Field**
Radio choices styled as a horizontal segmented button group, a cleaner visual alternative to ACF dropdown fields. Supports single or multi-select. Used for layout toggles, content type selectors, and style pickers. A polished ACF field type available free in this ACF addon.

**Advanced Link ACF Field**
An enhanced link picker with internal post search, external URL input, link title, target, and type detection. Saves `{ url, title, target, type, post_id }`. Inspired by ACF Extended Advanced Link field. A solid replacement for the standard ACF URL field and ACF Link field.

---

= 13 Pro ACF Field Types =

Upgrade to **Extra Fields for ACF Pro** to unlock 13 additional ACF field types and advanced WordPress custom fields.

**Photo Gallery ACF Field (Pro)**
Drag-and-drop image gallery manager using the WordPress Media Library. Supports per-image caption, alt text, and custom link. Includes min/max image count validation. The best ACF gallery field replacement for abandoned WordPress gallery plugins. A capable ACF field type for advanced media custom fields.

**OpenStreetMap ACF Field (Pro)**
A Leaflet.js map field with Nominatim address autocomplete. Place single or multiple markers, set default location and zoom, and choose from multiple tile themes. No Google API key required and fully GDPR-compliant. Returns `{ lat, lng, zoom, address, markers[] }`. A privacy-first ACF map field for location-based WordPress custom fields.

**Image Hotspot ACF Field (Pro)**
Click to place pins on any image. Each hotspot stores percentage-based coordinates (fully responsive), a label, description, custom link, and icon. Four pin styles: Dot, Map Pin, Numbered, and Custom Icon. Full Gutenberg block support. An ACF custom field type for interactive image-based WordPress content.

**Tags Input ACF Field (Pro)**
Type-and-press-Enter tag chips powered by Tagify. Supports a predefined whitelist, optional WordPress taxonomy sync, drag-to-reorder, min/max tag count, and character limits. Returns a PHP array, CSV string, or JSON. A versatile ACF field type for tag-based custom fields in WordPress.

**oEmbed ACF Field (Pro)**
Paste a URL from YouTube, Vimeo, Spotify, SoundCloud, TikTok, Twitter/X, or any WP-registered oEmbed provider. Shows a live embed preview in the admin. Saves `{ url, provider, title, thumbnail, html, width, height }`. A powerful ACF addon field that extends Advanced Custom Fields with rich media embeds.

**Stripe Payment ACF Field (Pro)**
Embed a Stripe Payment Element directly inside an ACF form. Supports cards, Apple Pay, and Google Pay. Creates a PaymentIntent via AJAX. Saves `{ payment_intent_id, status, amount, currency, paid_at }` on success. An ACF custom field type built for payment collection inside WordPress custom fields.

**Time Zone Selector ACF Field (Pro)**
A searchable dropdown of all ~590 IANA time zones, grouped by continent and region with UTC offset display. Pairs well with the DateTime Picker ACF field. Returns the IANA string, UTC offset, or a full object. A useful ACF field type for global WordPress applications.

**Image Selector ACF Field (Pro)**
Pick from predefined choices using visual image thumbnails. Supports single or multi-select with configurable grid columns. Choices are defined as `value | label | image_url` in the field settings. A visual ACF custom field type that improves on standard ACF radio and select fields.

**Code Editor ACF Field (Pro)**
Full syntax-highlighted multi-language code editor powered by CodeMirror. Supports HTML, CSS, JavaScript, PHP, Python, Shell, SQL, YAML, and plain text. Configurable theme (Default, Monokai, Material), line numbers, tab size, and word wrap. A developer-first ACF field type for code-based WordPress custom fields.

**DateTime Picker ACF Field (Pro)**
Combined date and time picker in a single custom field, powered by Flatpickr. Supports 12h/24h time format, configurable minute step, include/exclude seconds, and min/max datetime boundaries. Returns a formatted string, Unix timestamp, or DateTime object. A better ACF field type than pairing the standard ACF Date Picker and Time Picker fields separately.

**Hidden Input ACF Field (Pro)**
A read-only hidden custom field that stores a value not visible in the admin. Supports a static default or a dynamic token: `{{user_id}}`, `{{post_id}}`, `{{date}}`, `{{time}}`. Optional auto-update on every save. A handy ACF field type for automated WordPress custom field values.

**Post Types Selector ACF Field (Pro)**
A dropdown or multi-select of all registered WordPress post types. Supports built-in type inclusion, an exclusion list, and three return formats: slug, label, or `WP_Post_Type` object. A practical ACF addon field for WordPress developers building post-type-aware ACF field groups.

**Slug Field ACF Field (Pro)**
An auto-sanitized URL slug input with real-time client-side formatting. Supports hyphen or underscore separator, optional uppercase, max length, sync-from-another-field, and server-side uniqueness validation. A useful ACF custom field type for URL-friendly WordPress custom fields.

---

= Settings Page =

Extra Fields for ACF includes a central Settings Page at **Settings > Extra Fields for ACF** in the WordPress admin. Enable or disable any ACF field type individually. Disabled fields are not registered with Advanced Custom Fields and load no assets, keeping the ACF field type selector clean. Pro ACF field types show a lock icon with an upgrade link when no licence is active.

= Pro Licence =

Unlock all 13 Pro ACF field types at [acfaddons.com](https://acfaddons.com). The free version stays fully functional with all 17 free custom field types for Advanced Custom Fields.

= Documentation =

Full developer documentation, ACF field return value references, and template usage guides for all custom field types are at [acfaddons.com/docs](https://acfaddons.com/docs).

= Compatibility =

Works with Advanced Custom Fields (free) and ACF PRO. All custom field types are compatible with the Gutenberg block editor, Elementor dynamic fields, Beaver Builder custom modules, Bricks Builder dynamic data, Oxygen Builder, GeneratePress, Kadence Blocks, and any page builder or theme framework that integrates with Advanced Custom Fields. All ACF field types work with ACF field groups assigned to posts, pages, custom post types, taxonomies, users, comments, and ACF options pages. ACF repeater fields, ACF flexible content fields, and ACF clone fields are fully supported. Compatible with WooCommerce ACF fields, The Events Calendar, and WPForms ACF integrations.

== Installation ==

1. Log in to your WordPress admin dashboard.
2. Go to **Plugins > Add New Plugin**.
3. Search for **Extra Fields for ACF** or **ACF custom field types**.
4. Click **Install Now**, then click **Activate**.
5. Make sure **Advanced Custom Fields** (free or PRO) is installed and active.
6. Go to **Settings > Extra Fields for ACF** and enable the ACF field types you need.
7. Open or create an ACF field group and add any of the new custom field types from the ACF field type selector.

**Manual installation:**

1. Download the plugin ZIP from [acfaddons.com](https://acfaddons.com) or WordPress.org.
2. Go to **Plugins > Add New Plugin > Upload Plugin**.
3. Upload the ZIP file and click **Install Now**, then **Activate**.
4. Follow steps 5-7 above.

== Frequently Asked Questions ==

= Does this plugin work with ACF PRO? =

Yes. Extra Fields for ACF is fully compatible with both the free version of Advanced Custom Fields and ACF PRO. All 30 custom field types and ACF field type extensions work with both editions.

= What is the difference between the free version and Pro? =

The free version includes 17 ACF field types. The Pro licence unlocks 13 additional custom field types: Photo Gallery, OpenStreetMap, Image Hotspot, Tags Input, oEmbed, Stripe Payment, Time Zone Selector, Image Selector, Code Editor, DateTime Picker, Hidden Input, Post Types Selector, and Slug Field. See [acfaddons.com](https://acfaddons.com) for pricing.

= Does it work with the latest version of WordPress? =

Yes. The plugin and all its ACF field types are tested up to WordPress 6.9 and updated regularly to stay compatible with new WordPress and Advanced Custom Fields releases.

= Does it work with the Gutenberg block editor? =

Yes. All ACF custom field types work inside ACF field groups assigned to Gutenberg blocks, the same way standard ACF fields do. All extra ACF field types fully support block-based editing.

= Can I use these custom field types with Elementor, Beaver Builder, or Bricks Builder? =

Yes. Any ACF field value returned by Extra Fields for ACF can be used in Elementor dynamic data, Beaver Builder custom modules, Bricks Builder dynamic data, and other page builders that support Advanced Custom Fields integration.

= Can I disable ACF field types I do not need? =

Yes. The Settings Page at **Settings > Extra Fields for ACF** lets you enable or disable each custom field type individually. Disabled ACF field types do not appear in the field type selector inside ACF field groups and load no assets.

= How are ACF field values stored and retrieved? =

All custom field values are stored in the standard WordPress post meta table and retrieved using the standard ACF `get_field()` and `the_field()` functions. No custom database tables are created. Works the same as any built-in ACF field type.

= Does the Icon Picker ACF field work with Font Awesome PRO? =

The free version supports Font Awesome Free. Font Awesome PRO icon sets are available in the Pro licence of this ACF addon.

= Does the OpenStreetMap ACF field require a Google Maps API key? =

No. The OpenStreetMap ACF field type uses the open-source Leaflet.js library with Nominatim geocoding. No API key of any kind is required and it is fully GDPR-compliant. A practical ACF map field alternative.

= Does the Stripe Payment ACF field work in test mode? =

Yes. The Stripe Payment ACF field type includes a Test / Live mode toggle in the field settings. Use your Stripe test keys for development and switch to live keys for production.

= Is the plugin translation-ready? =

Yes. The plugin and all its ACF custom field types use the `extra-fields-for-acf` text domain and are compatible with Loco Translate, WPML, Polylang, TranslatePress, and any WordPress translation workflow.

= Does the Table ACF Field work inside an ACF Repeater or Flexible Content field? =

Yes. All Extra Fields for ACF custom field types can be placed inside ACF Repeater Fields, ACF Flexible Content Fields, and ACF Clone Fields.

= Is the plugin compatible with WordPress Multisite? =

Yes. Extra Fields for ACF and all its ACF field types are compatible with WordPress Multisite installations.

= Where can I find documentation for the custom field types? =

Full documentation for all ACF field types is at [acfaddons.com/docs](https://acfaddons.com/docs).

= Where can I report a bug or request a new ACF field type? =

Use the [WordPress.org support forum](https://wordpress.org/support/plugin/extra-fields-for-acf/) for bug reports and ACF custom field type feature requests.

== Screenshots ==

1. Settings Page - enable or disable any of the 30 ACF field types; Pro custom field types show a lock icon with an upgrade link
2. Free ACF field types available in the ACF field group editor
3. Pro ACF field types - Gallery, Map, Tags Input, oEmbed, Code Editor, and more advanced custom fields

== Changelog ==

= 1.2.1 =
* Fix: Removed `Requires Plugins` header that blocked activation for ACF Pro users
* Improvement: Admin notice now clarifies that both ACF free and ACF Pro are supported

= 1.2.0 =
* New: Markdown Field - EasyMDE ACF editor with toolbar and live preview
* New: Star Rating ACF field - click-to-rate stars (1-5 free, 1-10 in Pro)
* New: Nav Menu Selector ACF field - pick from any registered WP navigation menu
* New: JSON ACF field - CodeMirror syntax-highlighted JSON editor with validation
* New: Button Group ACF field - segmented button toggle, single or multi-select
* New: Advanced Link ACF field - enhanced link picker with post search, title, and target
* New (Pro): Photo Gallery ACF field - drag-and-drop WP Media gallery with per-image meta
* New (Pro): OpenStreetMap ACF field - Leaflet.js map with Nominatim geocoding, no API key
* New (Pro): Image Hotspot ACF field - click-to-place pins on an image with labels and links
* New (Pro): Tags Input ACF field - Tagify chip input with whitelist and taxonomy sync
* New (Pro): oEmbed ACF field - URL-to-embed with live admin preview via WP oEmbed API
* New (Pro): Stripe Payment ACF field - Stripe Payment Element inside ACF forms
* New (Pro): Time Zone Selector ACF field - all IANA time zones grouped by region
* New (Pro): Image Selector ACF field - visual image-thumbnail radio/checkbox grid
* New (Pro): Code Editor ACF field - CodeMirror multi-language editor (HTML, CSS, JS, PHP, Python, Shell, SQL, YAML)
* New (Pro): DateTime Picker ACF field - Flatpickr combined date + time custom field
* New (Pro): Hidden Input ACF field - read-only field with dynamic tokens (user_id, post_id, date, time)
* New (Pro): Post Types Selector ACF field - dropdown of registered WP post types
* New (Pro): Slug ACF field - real-time slug sanitization with sync-from-field support
* New: Pro licence tier - 13 Pro ACF field types shown as locked in Settings Page with upgrade link
* Improved: Settings Page - Pro custom field types display lock icon and upgrade button for free users

= 1.1.0 =
* New: Icon Picker ACF field - visual Font Awesome Free icon selector
* New: Table ACF field - editable rows and columns grid saved as JSON
* New: Country Selector ACF field - ISO 3166-1 country dropdown
* New: Phone Number ACF field - international dial code and number input via intl-tel-input
* New: Address ACF field - structured street, city, state, postal code, and country inputs
* New: Currency ACF field - ISO 4217 currency code selector
* New: Color Swatch ACF field - radio choices rendered as clickable colour swatches
* New: Settings Page at Settings > Extra Fields for ACF - enable or disable any custom field type individually
* Improved: Unit Control ACF field - toggle support added
* Improved: Gradient Picker ACF field - toggle support added
* Improved: Responsive Range ACF field - toggle support added
* Improved: Date Range Picker ACF field - toggle support added
* Tested up to WordPress 6.9

= 1.0.0 =
* Initial release
* Unit Control ACF field
* Gradient Picker ACF field
* Responsive Range ACF field
* Date Range Picker ACF field

== Upgrade Notice ==

= 1.2.0 =
Adds 6 new free ACF field types and introduces the Pro licence tier with 13 additional custom field types for Advanced Custom Fields. Safe to upgrade from v1.1.0. No database changes required.

= 1.1.0 =
Adds 7 new ACF custom field types and a central Settings Page. Safe to upgrade from v1.0.0. No database changes required.

= 1.0.0 =
Initial release.