preloader

Advanced Custom Fields plugin review and common issues

Advanced Custom Fields is used for custom fields, content models, debugging, and developer workflow inside WordPress. In most cases, it fits business sites better than a custom build done too early. A common issue is that data structures become messy when fields are added without planning. This usually happens when field keys, templates, and queries need discipline on larger builds. It can save time, but it still needs testing on a staging site before major changes go live. From experience, Advanced Custom Fields works best when you keep the setup focused and avoid overlapping plugins.

Advanced Custom Fields plugin review and common issues

What is Advanced Custom Fields plugin?

Advanced Custom Fields (ACF) is the most widely installed custom fields plugin for WordPress, with over 2 million active installations. It allows developers and site builders to attach structured, typed data fields to any WordPress post type, taxonomy, user, comment, widget, or options page — extending WordPress’s content model beyond standard title, content, and excerpt fields. Field types range from simple text and number inputs to complex relationships, repeaters, flexible content layouts, and file uploads.

The free version covers text, textarea, number, email, URL, password, image, file, WYSIWYG editor, oEmbed, select, checkbox, radio button, button group, true/false, link, taxonomy, post object, relationship, page link, user, date/time picker, color picker, message, and accordion fields — a comprehensive set that handles most standard custom field scenarios without payment. ACF Pro ($49/year for a single site, $149/year for 10 sites, $249/year for unlimited) adds the Repeater field (repeating groups of sub-fields), Flexible Content field (named layout blocks users can add in any order), Gallery field, Clone field, Options Pages, and a custom Gutenberg block builder that uses ACF fields as the block’s data input.

ACF is frequently paired with Custom Post Type UI — ACF for field management, CPT UI for registering the custom post types those fields attach to. WP Engine’s 2023 acquisition of ACF raised community concerns about future development direction, though the plugin remains actively maintained. For developer-configured custom post types with structured data, ACF is the default starting point for WordPress agency development.

Need Help With Advanced Custom Fields Setup, Troubleshooting, or Customization?

Need help with Advanced Custom Fields? Whether you are dealing with errors, broken functionality, styling problems, plugin conflicts, or advanced customization, we can help you fix the issue and get the plugin working properly on your WordPress site.

Get Advanced Custom Fields Expert Help

Key Features

  • Attach custom fields to posts, pages, custom post types, taxonomies, users, comments, options pages, and widgets
  • 30+ field types in free version
  • Repeater field for repeating groups of sub-fields (Pro)
  • Flexible Content field for named layout blocks (Pro)
  • Gallery field (Pro)

Pros & Cons

Pros

  • Most widely adopted custom fields plugin — largest community, most third-party integrations, most documentation
  • Free version covers the majority of standard custom field use cases
  • Conditional logic in the admin makes field groups more usable for non-technical content editors

Cons

  • Pro tier at $49/year per site is expensive relative to competitors like Meta Box or ACPT
  • Acquired by WP Engine in 2023 — some community concern about long-term open-source commitment

Free vs Premium

Free: 30+ field types, conditional logic, REST API. Pro ($49/year, 1 site): Repeater, Flexible Content, Gallery, Clone, Options Pages, Gutenberg block builder. $149/year for 10 sites, $249/year for unlimited.

Common Problems & Fixes

ACF fields are not displaying on the post editor screen — the field group is created but fields do not appear. How do I fix this?

Field groups have Location Rules that control where they display. Open the field group in ACF → Field Groups → [group name] and check the Location section. Verify the rule is set correctly — for example, “Post Type is equal to Post” will only show on standard posts, not custom post types. If the rule matches but fields still do not appear, check if the field group is Published (not Draft). Also verify no conflicting rules exist (AND/OR logic can exclude the current screen). Clear your browser cache and reload the editor.

ACF Repeater field data is not being returned by get_field() in my template — the function returns null or empty. How do I debug this?

Repeater field data requires the correct template code structure. Use have_rows() to check if rows exist, and the_row() inside a while loop to iterate: while(have_rows(“repeater_field_name”)) { the_row(); $sub = get_sub_field(“sub_field_name”); }. Common mistakes: (1) using get_field() instead of have_rows()/get_sub_field() for repeater data; (2) incorrect field name (use the field name slug, not the field label); (3) calling the function outside the loop for the correct post — pass the post ID as the second argument: have_rows(“field_name”, $post->ID) if not in the main query loop.

ACF field data is not returning after migrating the site to a new domain — fields appear empty even though they were populated before migration. How do I fix this?

ACF stores field data as post meta and also stores a reference to the field key (e.g., field_abc123) in a separate meta key. If the field groups were not migrated with the same field keys, the field key references in the database will not match the new field group definitions. Export field groups from the original site (ACF → Tools → Export) and import them on the new site — this preserves field keys. If field keys changed during migration, use ACF → Tools → Export to get the JSON and re-import, then use a database search-and-replace to update any stored field key references.

Customization & Developer Notes

How do I create a custom Gutenberg block using ACF Pro?

ACF Pro includes a Block Type API for creating custom Gutenberg blocks backed by ACF field groups. Register the block in your theme functions.php using acf_register_block_type() with parameters for name, title, render_template, and icon. Create the corresponding PHP template file that outputs the block HTML using ACF template functions (get_field(), etc.). Create an ACF field group with the Location Rule set to “Block is equal to [your block name]” — these fields appear in the block editor sidebar when the block is selected. This approach requires no JavaScript — the block UI uses ACF’s native field editor.

How do I output ACF field data in a Elementor template?

Elementor Pro supports ACF field data through its Dynamic Tags system. In the Elementor editor, click any text or image element → click the dynamic tag icon (lightning bolt) → select ACF Field → choose your field from the dropdown. This works for text, image, URL, and other field types. For custom loops over ACF Repeater data in Elementor Pro, use the Loop Grid widget with ACF Repeater as the data source — this requires Elementor Pro. For Elementor free, use the ACF Shortcode: to output field values.

Frequently Asked Questions

Should I use ACF or Meta Box for a new WordPress project?

ACF is the better choice when the project team includes developers familiar with ACF, when the site uses Elementor or Beaver Builder (strong ACF dynamic tag integrations), or when the Gutenberg block builder is needed. Meta Box is better when database performance is a concern (Meta Box uses more efficient data storage for complex relationships), when the project needs a UI-free code-based approach (Meta Box Framework), or when the higher ACF Pro pricing is a constraint. Both are excellent — project-specific factors (ecosystem, team familiarity, complexity) determine which is the better fit.

Is ACF free sufficient for most WordPress sites?

For standard content modeling with fixed structured data fields (team members with name, photo, bio, title; portfolio items with category, client, year, description), ACF free is fully sufficient. The Pro upgrade becomes necessary when you need Repeater fields (variable number of repeating items, like a list of services each with title and price), Flexible Content (letting editors mix different layout blocks in any order), or a custom Gutenberg block builder. Estimate: approximately 60% of custom field use cases in WordPress development are handled adequately by ACF free.

Can Advanced Custom Fields break after updates?

Yes, that can happen, especially on older sites with many plugins. This usually happens when the plugin, theme, and add-ons are updated out of sequence. In most cases, testing on staging catches the issue before it reaches the live site. From experience, backups and changelog reviews save a lot of cleanup time.

What should I check before installing Advanced Custom Fields?

Start by checking whether another plugin already does the same job. In most cases, overlap is what creates avoidable conflicts and performance issues. A common issue is installing a plugin because it looks convenient without checking the stack first. From experience, a short compatibility review avoids most of the pain later.

Need an Advanced Custom Fields Developer?

Find a vetted WordPress developer specializing in Advanced Custom Fields. From setup and configuration to custom Advanced Custom Fields development — get expert help on WPWizzy.
Get a Free Estimate

Ready to hire your WordPress developer?

WPWizzy connects you with vetted freelance WordPress developers from the Codeable network — the top 2% of WordPress experts worldwide, , you can get a free no-obligation project estimate before hiring. Every developer is carefully screened, backed by Codeable’s satisfaction guarantee, and rated by real clients based on completed WordPress projects.

Pick one option and we’ll take you to the right next step.

After submitting your request, up to three WordPress developers may review your project and ask a few questions to better understand the issue.
This step helps us define the scope of work and provide an accurate estimate. Most projects receive a response within 24 hours.
Providing a few key details about your website or the problem will help us respond faster. There is no obligation to proceed with the project.