WordPress posts and pages come with standard fields. Title, content, featured image, excerpt. For most content, these are enough. But sometimes you need more. A product needs a price. A recipe needs cook time. An event needs a date. A book review needs an author name.
Custom fields solve this. They let you add additional data to any post, page, or custom post type. The data can be simple text or complex structured information. Custom fields extend what WordPress can do without requiring custom development for each new need.
This piece covers what custom fields are, how to work with them, and how tools like Advanced Custom Fields make them accessible to non-developers.
What Custom Fields Actually Are
The technical foundation is straightforward.
Post Metadata
WordPress stores post metadata in a database table called wp_postmeta. Each row associates a post ID, a meta key, and a meta value.
Custom fields are entries in this table. You define what data to store and how to store it.
Simple Data Storage
At the basic level, custom fields store simple key-value pairs. A post might have a “price” field with a value of “29.99.” A recipe might have a “servings” field with a value of “4.”
Beyond Simple Storage
More advanced custom field solutions handle complex data. Repeatable fields for lists. Relationship fields linking to other posts. Image and file fields. Groups of related fields.
Where They Appear
Custom fields typically appear on the post edit screen. Depending on how they are set up, they might be simple form fields, complex builder interfaces, or hidden fields populated by other means.
How They Are Displayed
The theme or plugins retrieve custom field values and display them. This requires either direct theme code or plugin functionality that shows them.
The Default WordPress Custom Fields Interface
WordPress includes basic custom fields functionality by default, though it is limited.
Where to Find It
On post edit screens, look for the “Custom Fields” section. In modern WordPress, this may be hidden by default. Screen Options can enable it.
Adding a Field
Enter a name (the key) and a value. Click “Add Custom Field.” The field is saved.
Reusing Fields
Once a custom field key exists, the dropdown lets you reuse it on other posts.
Limitations
The default interface is limited. Text only. No validation. No advanced field types. No user-friendly labels or help text.
For basic uses, the default interface works. For anything more sophisticated, dedicated plugins are needed.
Advanced Custom Fields (ACF)
The most popular plugin for custom fields.
What ACF Does
ACF provides a much better interface for creating and managing custom fields. Drag-and-drop field creation. Many field types. Conditional logic. Templates for common needs.
Free vs Pro
Free version handles most basic needs. Text, textarea, number, email, select, checkbox, radio, image, file, WYSIWYG editor, and more.
ACF Pro adds repeater fields (repeating groups of fields), flexible content (varying block types), gallery (multiple images), and options pages (site-wide fields).
Pro pricing starts around $50 per year.
Why ACF Is Popular
ACF has become the standard for WordPress custom fields. Well-maintained, well-documented, and widely supported. Themes and other plugins often integrate with ACF.
Field Groups
ACF organizes fields into field groups. Each group can be assigned to appear on specific post types, page templates, or user roles.
Field Types
ACF supports many field types:
Text and textarea for text content.
Number, email, URL, password for typed inputs.
Image, file, gallery for media.
Select, checkbox, radio, true/false for choices.
Post object, page link, relationship, taxonomy for connecting to other content.
Date picker, time picker, date time picker for temporal data.
WYSIWYG editor for rich text.
Google Map for locations.
Repeater and flexible content (Pro) for complex structures.
Other Custom Field Plugins
Alternatives exist.
Pods Framework
Free plugin that combines custom fields, custom post types, and custom taxonomies into a single framework.
More features than free ACF. Steeper learning curve.
Toolset Types
Similar scope to Pods. Custom post types, custom fields, custom taxonomies. Requires purchasing Toolset.
CMB2
Developer-oriented library for creating custom fields programmatically. Free and open source. Requires coding.
Meta Box
Another popular custom fields plugin. Free core with premium extensions.
Custom Field Suite
Simpler alternative to ACF. Less feature-rich but sufficient for basic needs.
When Custom Fields Make Sense
Not every situation needs custom fields.
Structured Data
When your content has structured elements beyond the standard title and content. Product prices. Event dates. Recipe ingredients. Book authors.
Templated Content
When multiple posts share the same structure. All portfolio items have client, project type, and completion date. All events have location, start time, and end time.
Data That Needs to Be Displayed Specifically
When the additional data needs to appear in specific places on templates. Prices at the top of product pages. Dates on event listings.
Data That Powers Functionality
When plugins or themes need specific data to work. E-commerce plugins use custom fields for product data. Event plugins use them for event data.
When Not to Use Custom Fields
Simple text content that fits in the main editor does not need custom fields. Content that varies too much from post to post does not fit the templated approach of custom fields.
Setting Up Custom Fields With ACF
The basic workflow with ACF.
Install & Activate ACF
Available in the WordPress plugin directory. Free version is enough to start.
Create a Field Group
Under Custom Fields > Field Groups, click Add New. Give the group a name.
Add Fields
Add each field you need. Choose the field type. Set the label. Configure options specific to the field type.
For a portfolio item, you might add:
Client Name (Text)
Project Type (Select with options like Web Design, Print, Video)
Completion Date (Date Picker)
Project Images (Gallery)
Project URL (URL)
Set Location Rules
Define where the field group appears. On specific post types. Specific templates. Specific user roles.
For a portfolio item field group, the rule might be “Post Type is equal to portfolio.”
Configure Display Settings
Where the field group appears on the edit screen. Style. Position.
Save the Field Group
The fields now appear when editing posts that match the location rules.
Add Data to Posts
When you edit or create a matching post, the custom fields appear. Enter data.
Display the Data
The final step is showing the data on the front-end. This requires either theme modifications or plugins that display custom field values.
Displaying Custom Fields
Getting custom field data to appear takes some work.
In Theme Templates
For theme modifications, add PHP code to templates that retrieves and displays field values.
ACF provides functions like get_field() and the_field() for this. get_field() returns the value. the_field() outputs it directly.
For a “price” field, the code would be:
<?php the_field(‘price’); ?>
This requires modifying theme files, which needs developer knowledge or careful use of child themes.
With Gutenberg Blocks
For non-developers, ACF blocks (in ACF Pro) let you display custom fields through the block editor. Configure the block to show the fields you want.
With Page Builder Integration
Popular page builders like Elementor, Divi, and Beaver Builder integrate with ACF. You can insert custom field values into pages through the visual builders.
With Shortcode Plugins
Some plugins provide shortcodes for displaying custom fields. Insert the shortcode wherever you want the field value to appear.
In Query Loop Blocks
Modern WordPress query loop blocks can display custom fields when combined with additional blocks that render them.
Common Custom Field Mistakes
Users stumble in predictable ways.
Overusing Custom Fields
Adding custom fields for content that would fit better in the main editor. Custom fields should be for structured data, not general content.
Poor Field Names
Cryptic or overly technical field names make the interface hard to use. Use clear, descriptive labels.
No Validation
Fields that should require specific formats (dates, URLs, numbers) but do not validate lead to bad data.
Not Planning the Data Structure
Adding custom fields without thinking through what data you need. Later realizing the structure is wrong requires migration.
Ignoring Backup Before Structural Changes
Changing custom field configurations can affect existing data. Backup before significant changes.
Field Group Sprawl
Over time, dozens of field groups accumulate. Some for tests, some for abandoned projects. Regular cleanup helps.
Not Documenting Fields
Custom fields that were set up long ago become confusing when returning to them. Documentation of what each field is for helps.
Custom Fields for Specific Use Cases
Different types of sites benefit from specific custom field setups.
E-Commerce
Products need prices, inventory, dimensions, weights, SKUs. WooCommerce provides these through its own system, but additional custom fields extend product data.
Real Estate
Properties need address, price, bedrooms, bathrooms, square footage, features, MLS number.
Directory Sites
Business listings need contact info, hours, address, categories, services.
Recipe Sites
Recipes need ingredients, instructions, prep time, cook time, servings, cuisine, meal type.
Portfolio Sites
Portfolio items need client, project type, completion date, technologies used, results.
Event Sites
Events need date, time, location, ticket links, speakers.
Job Boards
Job listings need title, department, location, salary range, requirements, application link.
Closing Thoughts on Adding Data Fields
Custom fields extend what WordPress can do. They let WordPress handle content that would otherwise require custom development or specialized tools. Sites that use custom fields well have more sophisticated content management than sites that rely only on basic posts and pages.
For most sites with structured content beyond blog posts, custom fields provide value. The setup investment is bounded. The benefit continues for the life of the site.
Advanced Custom Fields is the standard tool for most WordPress sites. Free version handles many needs. Pro version adds capabilities that matter for more sophisticated setups.
The display side of custom fields is where the work happens. Getting field values to appear where you want them takes either theme modifications, page builder integration, or specific plugins. For non-developers, page builder integration or ACF Blocks provide accessible options.
For sites that could benefit from custom fields but do not use them, the introduction can improve content management significantly. Start with a specific use case where custom fields would help. Set up field groups for that case. Learn the workflow. Expand from there.
Custom fields combined with custom post types (covered in the previous piece) provide the foundation for WordPress sites that can handle any kind of content. The combination is what makes WordPress genuinely flexible. Sites that master these features can build content management that fits their specific needs rather than adapting to generic tools. The learning curve is real but bounded. The capability that opens up is worth the investment.