🔌
WordPress Recommended Editor's choice

ACF Pro Setup Guide — Advanced Custom Fields on WordPress

Advanced Custom Fields Pro: the WordPress content modeling layer we install on 90% of our corporate and agency builds. Setup, field design, theme integration — $40 flat.

★★★★★ 4.9 · 1240 reviews · 2M+ installs
$59 / yr
CMS: WordPress 6.0+ PHP: 7.4+ Version: 6.4.5 Updated: 2026-05-02

ACF Pro is the closest thing WordPress has to a content modeling layer. If you’ve ever tried to build a real corporate site, agency portfolio, or anything beyond a blog using plain Gutenberg, you’ve already felt where the platform’s data model runs out. ACF Pro is how we close that gap on 90% of our builds.

This page is both a module record (what’s in the box, what it costs to set up properly) and a practical setup guide. We use ACF Pro on most of our corporate builds — see how it fits in the WordPress Corporate Starter package — and our WordPress for corporate page covers why the underlying field model matters for B2B work.

Key features

🧱

Repeater + Flexible Content

The two field types that turn WordPress posts into structured content. Build team grids, pricing tiers, FAQ sections, page-builder layouts inside one post.

🎯

30+ field types

Text, image, gallery, file, link, post object, taxonomy, user, date picker, color picker, Google Maps, oEmbed. Plus relationship fields between posts.

📋

Location rules + conditional logic

Show field groups only where they belong (specific post types, page templates, taxonomies). Show individual fields only when other fields have certain values.

⚙️

Options pages

Pro-only. Create site-wide settings (header, footer, social links, contact info) editable from one place. Way better than scattering data across 30 different posts.

🧬

Clone field

Reuse field groups DRY-style. Define your address fields once, clone them into Team Member, Office Location, Author Bio — change once, updates everywhere.

🔌

Native integrations everywhere

Page builders (Elementor, Beaver, Bricks), block libraries (GenerateBlocks, Kadence), themes (Astra Pro, GeneratePress), even WPGraphQL for headless setups.

An honest look at this plugin

We use this in real client projects — here's what we've learned.

✓ Strengths

  • +
    The de facto standard for WordPress content modeling — If a theme or plugin offers field integration, it integrates with ACF first. Finding developers who know it is easier than any alternative.
  • +
    Repeater + Flexible Content actually work — Other plugins claim equivalent features; ACF's are battle-tested across hundreds of thousands of sites. We've never had a Repeater silently corrupt data, which is more than we can say for some competitors.
  • +
    Documentation is genuinely good — Code examples for every field type, troubleshooting guides, video tutorials. Saves real hours during a build.
  • +
    Performance is acceptable for normal use — Not the fastest, but not a bottleneck on a normal corporate site. Object caching (Redis) helps if you're calling get_field() in tight loops.
  • +
    Field UI editors will tolerate — Marketing team can add new pricing tiers, team members, FAQ items without calling a developer. The repeater UI is genuinely intuitive after 5 minutes.

− Weaknesses

  • Owned by WP Engine since 2022 — Some developers stay skeptical of WP Engine's stewardship. So far the plugin has continued steady development, but the Pods/Toolset community grew partly from this concern.
  • Pro license is per-site or unlimited only — $59/year for one site, $189/year for unlimited. No middle tier for agencies with 5-15 sites. The unlimited tier becomes mandatory if you hand off any sites to clients (each gets its own license).
  • Repeater data is serialized — Stored as PHP-serialized strings in postmeta. You can't query Repeater contents efficiently with WP_Query. For filterable lists, normalize the data into custom tables or use a custom taxonomy.
  • Flexible Content can be a footgun — Powerful for page builder-like editors, but performance overhead compounds with each layout. Don't put 50 flexible content layouts on the same page expecting fast load.

Our verdict

ACF Pro is on every serious WordPress build we do. Honest answer to “do I need it?”: if your site is a blog with categories and a contact form, no. If your site has any structured content — team members, services, case studies, products, locations, anything with consistent fields — yes, and skip the alternatives.

Why ACF over Pods or Toolset: bigger ecosystem (most page builders integrate with it natively), faster admin UI, better documentation, and the field types you actually use (Repeater, Flexible Content, Clone) are stable and well-tested. We’ve tried Pods on two projects in 2024-2025; both got migrated to ACF inside six months because finding developers who know it was harder.

Free vs Pro: Repeater field is the dividing line. If you need any kind of “list of items” inside a post (FAQs, team grid, testimonials, pricing tiers), Pro pays for itself in 20 minutes. Free is fine if you only need basic field types (text, image, select, true/false).

Setup price ($40): a flat fee that covers field group creation, location rules, conditional logic, and adding the fields to your theme templates. Useful if you’ve installed ACF Pro yourself but don’t want to wire up the PHP side.

Best for:

  • Corporate / B2B / agency sites with structured content (team, services, case studies)
  • Ecommerce stores needing custom product fields beyond WooCommerce defaults
  • Headless WordPress + WPGraphQL setups (ACF fields exposed natively)
  • Multilingual sites with Polylang (per-language field values supported)
  • Anyone moving off page-builder bloat toward block + ACF + theme code

FAQ

Do I need ACF Pro or is the free version enough?

If you need the Repeater field, yes. Repeater is the one feature that turns ACF from a metadata helper into a real content modeling tool. Without it, you can’t build structured lists inside a post (FAQs, team members, gallery items, pricing tiers, testimonials) without resorting to ugly workarounds.

Other Pro-only features that matter: Flexible Content (for page-builder-like layouts inside a post), Clone field (DRY field reuse across field groups), Gallery field, and the Options Pages add-on (site-wide settings).

If you only need basic fields (text, textarea, image, select, true/false, link), the free version covers it fine. Most sites cross the Pro threshold once they need their second repeater somewhere.

How do I install and activate ACF Pro?

Three steps.

1. Buy and download the plugin. Go to advancedcustomfields.com, pick your license tier (single site $59/year, unlimited $189/year, lifetime $1,499 one-time as of 2026). After purchase, you get a license key and a plugin zip in your dashboard.

2. Install in WordPress. Admin → Plugins → Add New → Upload Plugin → choose the zip → Install Now → Activate. If you already have ACF (free) installed, deactivate and remove it first — Pro replaces it, doesn’t run alongside.

3. Activate the license. Admin → ACF → Updates → paste your license key → Activate License. This enables auto-updates and unlocks support. Without activation the plugin still works but won’t auto-update — risky for security.

What's the right way to set up my first field group?

1. Create a field group. Admin → ACF → Field Groups → Add New. Name it after the content type (e.g., “Team Member Fields”, “Case Study Details”).

2. Add fields. Click “Add Field” → pick type → set field name (the slug ACF uses in code) and field label (what editors see). Common types: Text, Textarea, Image, Select, Repeater, Flexible Content.

3. Set location rules. Bottom of the field group screen, “Rules”. Example: “Show this field group if Post Type is equal to Team Member” or “Page Template is equal to template-services.php”.

4. Configure presentation. Style: Standard (boxes) or Seamless (inline with editor). Position: Normal (below editor) or Side. Hide on screen: hide things like the WYSIWYG editor if it’s not needed.

5. Output in templates. In your theme: <?php the_field('field_name'); ?> for simple values, get_field('field_name') if you need to manipulate the value before output. For Repeater: while (have_rows('repeater_name')) : the_row();.

When do I use Repeater vs Flexible Content?

Repeater: a list of “rows”, each with the same set of sub-fields. Use case: FAQ section (5 questions, each with a question + answer), team grid (10 members, each with name/role/photo), pricing tiers (3 tiers, each with name/price/features). Add as many rows as you need from the post editor.

Flexible Content: like Repeater, but each row can be a different “layout” (different set of sub-fields). Use case: a page where editors choose between Hero, Image-Right, Two-Column, Testimonial, CTA, etc. Each layout has its own fields. Closer to a real page builder.

Rule of thumb: use Repeater when the structure is identical across rows. Use Flexible Content when the structure varies. Flexible Content is more powerful but has more performance overhead — don’t use it everywhere.

What are the performance traps I should avoid?

Avoid Repeater in WP_Query meta queries. ACF stores Repeater rows as serialized post meta. You can’t query “find posts where any repeater row has price > 100” efficiently with WordPress’s default meta query — it’ll do a full table scan. If you need filtering on Repeater contents, use a custom taxonomy or a normalized custom table instead.

Cache get_field() output if you call it in loops. Each call hits the database. For pages with 50+ ACF calls (e.g., a product archive), wrap them with object cache (Redis or Memcached) or cache the entire ACF data array per post.

Don’t store huge JSON in ACF Text fields. Same serialization problem — anything bigger than a few KB should go into its own table or use a dedicated custom field plugin. ACF is great for fields, not for blob storage.

Are there ACF alternatives I should consider?

Yes, two solid alternatives in 2026:

Meta Box (metabox.io): closest direct competitor. Has a free version with surprisingly capable fields, and the Pro version is comparable to ACF Pro but cheaper ($49/year vs $59). Smaller ecosystem; some themes/plugins integrate with ACF natively but not Meta Box.

Carbon Fields (carbonfields.net): free, open-source, code-first (you define fields in PHP, not the admin UI). Great for developers who want fields under version control, terrible for non-technical site owners who want to add fields themselves.

Why we still default to ACF: ecosystem size. ACF integrates with most page builders (Elementor, Beaver Builder, Bricks, Spectra), block libraries (GenerateBlocks, Kadence), and major themes (Astra Pro, GeneratePress, Blocksy). Finding developers who know ACF is also easier — it’s the de facto standard.

My field group isn't showing up in the editor — what's wrong?

Most likely a location rules mismatch. Field groups only appear on screens that match their location rules. Check: ACF → Field Groups → click your group → scroll to “Rules”. Make sure the post type, page template, or taxonomy you’re editing matches.

Other common causes: (1) Field group is set to “Hidden” status; toggle to “Active”. (2) Another field group has higher menu order and conflicts; reorder. (3) ACF Pro license expired and plugin downgraded silently — check ACF → Updates. (4) A theme or plugin is calling remove_meta_box() and hiding the ACF metabox.

Need help with this plugin?

We can install, configure, or customize it for you.

Installation help Order installation — $40

Don't want to install yourself? Our developer connects via FTP, installs, configures, tests with a real transaction. Usually takes one business day.

Contact Form Demo