A clear path
from idea to content.
Start with a group and a matching post. Add the tools your project needs as you go.
Free fields. Pro interactive workflows.
Free includes all 26 field types, repeaters, field creation and storage, WordPress-admin editing, basic display, named blocks, normal WordPress search and developer APIs. Pro supplies the visual directory/listing builder, configurable listing layouts and queries, reader search and frontend edit/create forms.
Deactivating Pro keeps definitions and stored values. Existing saved listings continue rendering, and WordPress-admin editing remains Free. Creating or changing listing definitions and supplied frontend workflows requires activated Pro. Public Pro submissions enter a private review queue; they do not grant anonymous editing.
First setup and optional welcome choices
A first individual Free activation opens the focused CustomFields workspace. Choose what you are building, or explore on your own. Back to WordPress remains visible and the workspace remembers your display choice.
After a meaningful save, optional welcome choices offer independent domain sharing and confirmed email signup. Both start unchecked. You can continue without sharing or revisit Welcome choices later. Read the exact data and withdrawal details.
Pro preview tabs show the actual workflow with sample data. Selecting plans for a workflow remembers your task locally for seven days. After installing Pro and activating your licence, continue that task and review its current state before applying anything.
Install or upgrade
Back up your site and test the update on staging. Finish or pause active imports, deployments, bulk jobs and background requests before replacing files. Update Free from WordPress.org without uninstalling. If a Pro update is available in your account, replace that add-on in a separate request after Free. Free and Pro have separate version numbers. Check your content and Pro workflows before resuming paused work.
For a fresh installation, activate Free from WordPress.org first. If you purchased Pro, get the add-on from your eligible account and check its requirements before activation. The minimum requirements remain WordPress 6.5 and PHP 7.4. If you still use the legacy customfields Free folder, install the customfields-com package, deactivate the old Free copy and activate CustomFields.com; leave the old copy inactive and do not uninstall it during this move.
Site-options saves and protected migration workflows require MySQL or MariaDB with InnoDB tables. Migrations also require advisory-lock support. SQLite is not supported for these operations.
Activate Pro on this site
Free needs no account or licence. To use Pro tools, install the Pro add-on from your eligible account, then open CustomFields → Licence & updates. Enter the connection key from your account, review the displayed service destination and data disclosure, and explicitly connect the site. A valid activation unlocks Pro on this site. New Pro licence activation supports single-site WordPress. Existing confirmed per-site multisite connections retain activation; new multisite licence activation is not available in this release. Each additional production site needs its own activation within your plan; use the development-copy process for an eligible staging site.
After a valid activation, local Pro tools keep working if the service is temporarily unavailable or update and support access expires. Pro update checks remain a separate opt-in choice, and WordPress controls automatic installation. Choosing Disconnect locks new Pro operations and pauses background work without deleting saved content, definitions or workflow records. Activate again before using Pro tools, then explicitly resume any approved background work you want to continue. Disconnect does not cancel annual renewal.
Build the editor
Use the shared Build, Publish and Move data navigation; Find a tool also opens with Alt+K. Open CustomFields, choose a starter kit or create a group, then select where it appears. Add fields, labels and instructions. The sample preview is temporary; save the definition and edit matching content to enter real values.
Structured groups, repeaters, galleries, flexible sections, options pages and reusable definitions are now Free features. Linked reusable definitions propagate through an explicit compatible-change review. Existing snapshots remain snapshots.
Connect the content
Content types creates post types and taxonomies. The Relationship field, labelled Related items in the builder, offers authorized search, multiple selection and optional inverse fields. It targets posts, users or terms; both sides of an inverse pair need compatible scope and editing permissions. Conditions show or hide controls while retaining hidden stored values.
Set up Related items
In a field group, choose Add field → Related items, then open Relationship settings. Choose Related object: Posts uses Allowed post types, Terms uses Allowed taxonomies, and Users needs neither restriction. Enter registered slugs, set Maximum selections from 1 to 100 (20 by default), and save the group. Edit matching content to search, choose and order the permitted records.
For a two-way connection, create and save both top-level fields first. Reload each group, select the other field under Reciprocal field, and save both before adding links. You must be able to edit both objects. Pairing does not backfill existing one-way links. Relationships store IDs; use a template with visibility checks to display linked titles or cards.
Display saved values · Free
Choose Use your fields in a saved field group to get the matching block or shortcode. Enter values in the matching WordPress editor and save the content before checking the result.
- Text: add the Custom field block or a shortcode such as
[customfield name="project_title"]. - Images, files and galleries: use the Custom field block or
[customfield name="project_image" format="html"]. Replace the example name with your field name. A plain image shortcode keeps its original attachment ID output. - Repeater rows: insert the Custom field repeater block, select the repeater and the direct child fields to show, then choose List or Table. Save field values to refresh its preview. A plain repeater shortcode does not render a collection.
Nested groups, flexible layouts and reference names need an appropriate template. The html format accepts uppercase and surrounding spaces. Unsupported formats such as format="url" keep legacy output; an image may therefore display its attachment ID. Use the field guide's generated shortcode for formatted media. The output respects current media access checks, but this does not protect direct upload URLs or remove already cached copies.
Choice labels: saved-field blocks and formatted shortcodes display stored keys for single-select and radio fields, and configured labels for multiselect and checkbox choices. Named blocks' own select controls display their configured labels. Use a template when another presentation is needed.
URL values: enter a complete https:// or http:// URL. PHP and REST integrations should also send absolute URLs rather than rely on automatic normalization.
Publish blocks and listings
In Blocks & listings, create a named block and choose its editor controls. Find that name in the WordPress block inserter. Each inserted block stores its own content.
With activated Pro, create a listing and choose its public content type, sort/filter, layout and fields to show. Add the CustomFields listing block, or use [customfields_listing id="your-listing"]. Only public published posts without password protection are included.
Elementor Free has CustomFields value and listing widgets. Dynamic tags require the applicable Elementor edition. No external builder licence is included.
Use a supplied frontend form · Pro
[customfields_form group="group_key" post_id="123"]
[customfields_form group="group_key" mode="create" post_type="post"]These edit/create forms require a logged-in authorized editor. Creation makes an owned draft for review in WordPress. They do not include anonymous editing, payment or email actions. For public contributions, use the separate Pro submission queue.
Use the APIs
$value = customfields_get( 'project_title', get_the_ID() );
echo esc_html( (string) $value );User/term helpers and customfields_get_option() read registered fields for trusted template code. Authorize private data and escape output for its context. Authenticated post REST support is for editing; the plugin does not add a public metadata endpoint.
Move definitions deliberately
JSON schema import merges groups by key; schema files do not contain post content. Download definitions as JSON through your browser and review imports before applying them. Schema saves and imports do not write files on the server. An existing CUSTOMFIELDS_JSON_DIR setting is supported only as a read-only legacy source for customfields-schema.json; reviewed imports recheck the file and current schema before applying. Source files are never modified. CLI commands cover export, check and explicit guarded import. The administrator JSON importer merges by group key; applied CLI and legacy local-file imports replace the full registry. Content values are retained.
Convert existing content
Workflows can copy values and convert supported ACF/Secure Custom Fields and Meta Box structures across posts, users, terms and supported options storage, including supported Clone, Link and Map values, references and registered option prefixes. Choose fields and content in two short steps, then search the exact value review. Mobile comparisons use readable cards. Review source/destination changes before applying. Source metadata is preserved; rollback stops when newer destination edits would be overwritten. Unsupported settings and storage types are refused. Source permissions and the database requirements also apply. This is not a universal automatic site migration.
Secure Custom Fields 6.9.8: ordinary field keys can appear in the source picker while conversion is refused, even for administrators, because SCF restricts generic metadata access. Keep SCF and the original definitions active. Use its supported export tools or a deliberately scoped integration; do not remove its permission checks. Test a separately named destination on staging first.
Work with Pro
Agency workspace packages selected field groups, content types, taxonomies, blocks and listings together. Review dependencies and before/after changes, then confirm the target environment. Cross-site object IDs require explicit clearing. These JSON packages contain definitions. The separate Content & media tool copies selected posts and local attachments through a reviewed ZIP: deploy matching definitions first, explicitly map users/terms/external posts, then create new drafts. Credentials, table provisioning and remote server access are outside these workflows.
Bulk editor supports native per-post controls for simple and structured values. Replacement jobs capture up to 2,000 posts and process 25 at a time, with explicit review, pause, resume and guarded undo. Each chunk is atomic; a conflict stops the current chunk while earlier completed chunks remain visible. Approved preparation, application and undo can continue with the browser closed. Preparation stops for your approval before changes. WordPress Cron depends on site traffic; a server scheduler can invoke the optional WP-CLI runner on quiet sites. The plugin does not configure your server scheduler. Shared replacements with conditional children use the per-post editor instead.
Check before changing
Compare a local UTF-8 CSV in Free: choose a native post field group, map supported columns and inspect every row outcome. Fix issues manually or retain the task for a later Pro workflow. Installing Pro rechecks the source, schema and current values before a separate approval; a Free comparison never grants permission to write.
Content checks capture a bounded scope and show progress, findings, exclusions and unsupported fields. Continue through additional scopes using the manual control. Definition baselines compare field groups and known consumers; retained-value counts are bounded and external templates remain unknown. A completed scope is not a whole-site health certificate.
Save the checks you repeat
Pro maintenance adds deterministic supported business rules, opt-in local schedules, retained report history and field-group baselines. Corrections open the existing bulk review and require a separate approval. Reports describe observed work and known job status, with no invented time savings. This is local maintenance, not a remote fleet or managed feed service.
Reuse CSV update workflows
Choose an existing post field group, upload a UTF-8 CSV and map its columns, using a column of existing post IDs or an explicitly chosen unique supported native business-key field. Duplicate, ambiguous and unmatched keys require resolution; suggested mappings explain exact name/label matches. Save the mapping for 1–10 supported fields. Columns follow their exact names, so they can move; unrelated columns can be added and unused columns omitted. Missing or renamed required columns and duplicate headers stop staging. Prepare the before/after review. Review the full file: search and pagination only change which rows you see. Cleared values need a separate acknowledgement. Approve the exact changes before background application; undo stops on later edits. Stage a replacement CSV through the page or the private local CLI command. Hourly/daily schedules prepare new staged input for review; they do not fetch remote spreadsheets or automatically approve new values.
Collect and approve submissions
Configure a public or signed-in form with up to five named steps. Supported fields include scalar and choice values, rich text, groups, repeaters, flexible layouts, conditions, safe references and private uploads. Use the form’s shortcode on a page. Entries stay in a private queue; approval of a new entry creates a draft.
A separate change-request mode targets explicitly configured existing records and requires the original content, values and schema to remain unchanged at approval. Assign reviewers explicitly: the reviewer capability does not override WordPress content permissions. Reviews show labelled nested rows and accessible reference names. Signed-in contributors can follow their status and revise returned entries; anonymous correction access is not included.
Forms allow up to 30 top-level fields, 200 definitions, three container levels and 500 submitted values. Public reference choices include up to 100 published, password-free posts or public terms. User fields select only the signed-in submitter. Reciprocal relationships use the authenticated editor. Change requests with repeated rows containing conditional descendants are refused because new rows cannot safely be matched to hidden existing values.
Private uploads before approval
Upload fields accept JPEG, PNG and WebP; file fields also accept PDF. Limits are four files, 2 MiB per file and 4 MiB in total, with a 32 MiB private inbox and a 24-megapixel image limit. PHP fileinfo is required; hosting limits may be lower.
Before approval, files remain private and only permitted reviewers can download them through protected links. Approval requires WordPress upload permission and publishes the verified originals to the Media Library, where their URLs are public even when the post is a draft. No resized image variants are generated.
Rejection removes the private file bytes; corrections retain only explicitly kept files. File validation is not malware scanning. JavaScript is needed to add or remove repeated rows; displayed rows can be completed without it.
Notifications are off until an administrator configures recipients and enables them. Choices and recipients are checked again at mail handoff; delivery depends on the site’s mail service. An uncertain attempt is not automatically retried.
Link a development copy
Each production connection can include one copy. Create a 10-minute proof in the connected production site’s Licence & updates screen. In Account, enter the proof, exact copy URL and explicit non-production declaration. Connect the copy with its 15-minute single-use key and separate service consent. Supported HTTPS hosts are exactly staging., dev. or test. followed by the full production hostname, with the same port and WordPress path. Other addresses need a production slot. This proves possession of the connection, not DNS control or intended use. Reconnecting/disconnecting the parent or rotating its account key also revokes its copy and pending keys.
Practical limits
- 100 field groups, 200 fields per group and 1 MB schema JSON.
- Three composite levels, 20 children per container, 100 rows and shared rendering/value limits.
- 50 objects per migration, five-object batches and a 2 MB journal; options are reviewed as a single destination.
- 20 controls per authored block; 50 block and 50 listing definitions; 40 listing items per page.
- CSV reviews: up to 500 rows, 32 columns and a 2 MiB file. Up to 10 supported fields per saved mapping. A missing or renamed required column needs a corrected file or mapping.
- Pro replacement jobs: 2,000 posts, 25 per chunk, five retained jobs and 32 MB of snapshots per job. Undo requires unchanged recorded values.
- Content transfer: 50 posts, 100 attachments, 8 MB per file and 32 MB of media. PHP ZIP/fileinfo and private temporary storage required. Unsupported blocks, reciprocal graphs and object-specific locations need separate handling.
- Optional custom storage retains a metadata mirror. Protected transactional workflows require MySQL or MariaDB with InnoDB tables; migrations also require advisory-lock support. SQLite is not supported for these operations.
- These are bounded workflows, not a full-site clone or whole-site health certificate. Test your host, theme and other plugins on staging.