Field Groups and Types
Q: How many field groups can I create on the free plan?A: As many as you want. The free plan allows an unlimited number of field groups, and each group can contain as many fields as you need from the 24 free field types. There is no group-count cap on either the free or PRO plan.
Q: Which field types come with the free plan?A: The free plan includes 24 field types: the 16 basic types (text, textarea, number, email, URL, password, image, file, WYSIWYG, select, checkbox, radio, true/false, date picker, color picker, and the layout helpers tab/accordion/message) plus Post Object, Page Link, Taxonomy, User, Relationship, oEmbed, Time Picker, and Google Map. PRO adds the compound types (Repeater, Group, Flexible Content, Clone) plus Gallery and PHP Blocks.
Q: What is the difference between a field group and a field?A: A field group is the container — think of it as a form. Fields are the individual inputs inside that form (text boxes, image pickers, dropdowns, etc.). You create a field group, add fields to it, and set location rules to control where it appears. When a content manager edits a matching post, the entire field group shows up as a metabox below the editor.
Q: Can I use the same field group on multiple post types?A: Yes. Use location rules with OR groups. For example, set one rule group to “Post Type is equal to Page” and add another rule group for “Post Type is equal to Post.” The field group will then appear on both Pages and Posts. You can add as many OR groups as you need.
Q: What happens if I change a field type after data has been entered?A: Changing a field type (for example, from Text to Number) does not delete existing data, but the data may not display correctly in the new field type. For example, if a Text field contained “hello” and you change it to a Number field, the editor will show an empty or invalid state. Always test field type changes on a staging site first. You can use the Revision History feature to roll back if something goes wrong.
Q: How do I reorder fields within a field group?A: Open the field group editor and drag any field by its handle to a new position. The order you set in the editor is the exact order content managers see when editing posts. You can also use wrapper width settings to place fields side by side on the same row.
Q: What are Layout fields (Tab, Accordion, Message) and do they store data?A: Layout fields do not store any data. They are purely organizational tools that improve the editing experience. Tab fields split your field group into clickable tabs. Accordion fields create collapsible sections. Message fields display instructional text to help content managers understand what to enter. Use them freely — they have no impact on performance or storage.
ACF Compatibility
Q: Will my existing theme code work with Field Forge?A: Yes. Field Forge provides a full ACF compatibility layer. Functions like get_field(), the_field(), have_rows(), get_sub_field(), and all other standard ACF functions work identically. Your theme code does not need any changes. Field Forge registers these functions automatically when ACF is not active. During ACF activation requests, Field Forge defers to ACF so ACF Pro can be enabled for migration without a PHP redeclare fatal.
A: Technically yes, but it is not recommended for normal use. During migration, both plugins should be active so Field Forge can read ACF data. After migration is complete and you have verified everything works, deactivate ACF. Running both plugins long-term can cause conflicts because they both try to register the same functions.
Q: Does Field Forge support ACF Pro features like Repeater and Flexible Content?A: Partly free, partly PRO. Relationship, Post Object, Page Link, Taxonomy, User, oEmbed, and Time Picker fields are all available on the free plan. The compound types (Repeater, Group, Flexible Content, Clone) plus Gallery, PHP Blocks, and Options Pages require a Field Forge PRO license. The migration tool handles importing all of these field types from ACF Pro.
Migration from ACF
Q: Will migrating from ACF break my site?A: No. The migration process is non-destructive. Field Forge reads your ACF data and creates its own copy in optimized database tables. Your original ACF data remains untouched in wp_postmeta. If anything goes wrong, you can simply reactivate ACF and your site works exactly as before.
A: For small sites (under 100 posts), migration completes in seconds. For larger sites with thousands of posts, the value migration (PRO) runs in batches of 50 posts and processes in the background. A site with 5,000 posts typically takes 2-5 minutes. You can close the browser during background processing — it continues on the server.
Q: Do I need PRO to migrate from ACF?A: The free version can import field group definitions (the structure). To also migrate the actual field values (the content data stored on each post), you need PRO. For most practical migrations, you want both the structure and the data, so PRO is recommended.
Q: What if my ACF setup uses PHP-registered field groups (not the UI)?A: Field Forge detects both database-stored and PHP-registered ACF field groups. If your field groups are registered via acf_add_local_field_group() in your theme, the migration tool picks them up as well.
A: Field Forge can read ACF Local JSON files from acf-json/group_*.json in the active theme, parent theme, and filtered ACF load paths. The migration imports the field group structure from those JSON files even when the acf-field-group and acf-field posts are absent. Field values still come from ACF-style postmeta and require the PRO value migration.
Options Pages
Q: How many options pages can I create?A: There is no limit with PRO. You can create as many top-level options pages and sub-pages as your site needs. A typical setup might include a main “Site Settings” page with sub-pages for “Social Media,” “Footer,” and “Appearance.”
Q: Where is options page data stored?A: Options page data is stored in Field Forge’s own wp_fieldforge_options table, separate from regular post data. You access it in templates using get_field('field_name', 'options'). The 'options' parameter tells Field Forge to look in the options table instead of the current post.
A: By default, options pages require the manage_options capability, which means only Administrators can see them. You can set a custom capability when creating the options page to give access to Editors or other roles.
Repeater, Group, and Flexible Content
Q: What is the difference between a Repeater and a Group?A: A Repeater allows multiple rows — content managers add as many items as they need (like a list of team members). A Group always has exactly one set of sub-fields (like a single address block). Use Repeater when the number of items varies, and Group when you always have exactly one set of related data.
Q: Can I nest Repeaters inside other Repeaters?A: Yes. You can nest repeaters for complex data structures. For example, a “Courses” repeater could contain a “Lessons” repeater within each course. Be mindful that deeply nested repeaters can make the editing interface complex for content managers — two levels of nesting is usually the practical limit.
Q: How many layouts can a Flexible Content field have?A: There is no hard limit, but 4-8 layouts is the recommended range for usability. Too many layout options can overwhelm content managers. Each layout can contain any combination of field types, including Repeaters and Groups.
Q: Can a layout have no sub-fields (a divider or spacer section)?A: Yes. A layout with no sub-fields is valid — for example a “divider” or “spacer” marker used purely for structure. Each layout instance you add is preserved on save and reload, including empty ones, so get_field() returns one entry per added instance with its acf_fc_layout name (e.g. divider). (Fixed in 1.0.16: empty layout instances were previously dropped on save.)
A: Yes. In the Repeater field settings, you can set a minimum (e.g., “at least 3 features”) and a maximum (e.g., “no more than 10 items”). Content managers see the Add Row button disabled when the maximum is reached and cannot remove rows below the minimum.
Performance
Q: Is Field Forge faster than ACF?A: Yes. Field Forge stores data in its own optimized database table (wp_fieldforge_values) instead of wp_postmeta. This means fewer database queries, especially on pages with many fields. Posts with 20+ fields see the most significant improvement because ACF makes a separate database query for each field, while Field Forge retrieves all values in a single query.
A: The number of field groups has minimal impact on frontend performance. Field groups only affect the admin editing experience (loading field definitions). On the frontend, only the field values are queried, and those are fetched efficiently regardless of how many field groups you have defined.
Q: Should I worry about performance with Repeaters containing many rows?A: Repeaters with up to 100-200 rows perform well. If you regularly need more than 200 rows of data, consider whether a custom post type might be a better approach. For example, instead of a repeater with 500 product rows, create a “Product” custom post type where each product is its own post.
Local JSON
Q: What is Local JSON and do I need it?A: Local JSON saves your field group definitions as .json files inside your theme folder. This is a PRO feature primarily useful for developer workflows involving version control (Git). If you are a content manager without a developer on your team, you do not need this feature. If you work with a developer, they may enable it so field group changes can be tracked in code.
A: When you save a field group, Field Forge automatically writes an updated JSON file to your theme folder. If your developer also pushed changes to the same field group via code, you may see a sync notice the next time you visit the admin. The notice lets you choose which version to keep.
REST API
Q: Does Field Forge have a REST API?A: Yes. Field Forge exposes endpoints at /wp-json/fieldforge/v1/ for managing field groups, reading and writing field values, and working with options pages. Public field group schema reads (GET /field-groups and GET /field-groups/{id}) are available without cookies for headless/front-end use and include cache headers. Value reads and all write/import/generate endpoints still require authentication (cookie-based with a nonce or Application Passwords) and the relevant WordPress capability.
A: Reading field values for published posts is available to authenticated users with appropriate capabilities. Admin-level endpoints (creating field groups, importing data) require the manage_options capability. Your developer can configure custom permissions if needed.
A: Yes. When WPGraphQL is active, Field Forge registers native schema fields for matching field groups without requiring WPGraphQL for ACF. Media fields resolve to MediaItem, relationship fields resolve to ContentNode, taxonomy fields resolve to TermNode, and those object mappings also work inside Group, Repeater, and Flexible Content sub-fields. Anonymous queries receive null or filtered lists for inaccessible private/draft/password-protected posts.
Q: Why is thefieldforge object empty on /wp-json/wp/v2/posts/...?
A: The core WordPress post REST payload is now opt-in. Set show_in_rest => true on fields that are safe to expose publicly, or use the authenticated /wp-json/fieldforge/v1/fields/{post_id} endpoint for editor/admin workflows. Password and sensitive-looking fields are hidden by default even when a parent group is public.
License and Limits
Q: What are the limits of the free plan?A: The free plan has no group-count limit — you can create unlimited field groups. It includes 24 field types (the 16 basic types Text, Textarea, Number, Range, Email, URL, Password, Image, File, WYSIWYG, Select, Checkbox, Radio, True/False, Button Group, Date Picker, Color Picker, Tab, Accordion, Message — plus Post Object, Page Link, Taxonomy, User, Relationship, oEmbed, Time Picker, and Google Map), revision history, ACF field group import (structure), and the ACF compatibility layer. You do not need PRO for a fully featured custom-fields setup, including relation fields and embeds.
Q: What does PRO add?A: PRO adds the compound field types (Repeater, Group, Flexible Content, Clone) plus Gallery and PHP Blocks, along with Options Pages, JSON export/import between sites, Local JSON Sync, Schema Versioning & Rollback, field value migration from ACF, the performance layer (object cache + batch load), REST API fields, AI Schema/Field Generation, TypeScript/GraphQL generation with native WPGraphQL types, and priority support.
Calculation Fields and Aggregation
Q: My Calculation field shows 0 — what is wrong?A: The most common cause is a mismatch between the formula token names and the actual field names. Open the Calculation field settings and compare the {token} names in your formula with the Name (slug) of each sibling field — not the Label. For example, if your field’s Name is unit_price, the token must be {unit_price}. A typo, an extra space, or using the Label instead of the Name all produce 0. Also check that the referenced fields are top-level (not inside a Group or Repeater) because only sibling top-level fields are substituted.
For the “Sum repeater sub-field” mode, confirm that the Repeater name and Sub-field name are both spelled exactly as they appear in the field group editor.
Q: My Calculation field is locked / shows “(Requires Pro)” — is that a bug?A: No. The calculation field type is PRO-only. On the free plan, the field appears in the type picker with a PRO badge and cannot be added to a field group or saved. Upgrade to Field Forge PRO and connect your license to unlock it.
A: Yes, using the shortcode. Place it in any post, page, or widget:
0Supported operations: sum, avg, min, max, count. The shortcode and the fieldforge_aggregate_field() PHP helper are both available on the free plan. For authenticated REST or GraphQL access to aggregates, a PRO license and the rest_api_fields / graphql capabilities are required.
A: The live preview is progressive enhancement — the authoritative total is always computed on the server when you save the post. If the per-keystroke JavaScript preview does not appear, check that there are no console errors blocking the admin.js script and that the field names in the formula match exactly (case-sensitive). The total shown after clicking Update/Publish is always correct regardless of the preview state.
A: Nested Calculation fields (inside a Repeater) are planned for a future release. Currently, the Calculation field only operates at the top level of a field group. To total repeater values today, add a top-level Calculation field and set its Total source to “Sum repeater sub-field.”
Q: Can I use one PRO license on multiple sites?A: License terms are defined on your purchase. Check your license details at the Field Forge website. Typically, each license covers a single production site, though development and staging environments are permitted.
Q: What happens if my PRO license expires?A: Your existing PRO field groups and values remain stored, but PRO-only field types and Options Pages stop rendering/returning values at runtime until renewal. Field group writes reject locked PRO field types, ACF-compatible get_field_object() hides locked PRO definitions, Options Pages REST/AJAX actions require a current entitlement, and AI Schema generation/suggestions stay locked even for local templates. Renewing restores access to the preserved data.
—