The free, open-source alternative to ACF (Advanced Custom Fields) for WordPress
✨ Modern custom fields plugin for WordPress with a beautiful admin interface and developer-friendly API.
- ✅ 100% Free & Open Source - No premium tiers, no vendor lock-in
- ✅ ACF-Compatible API - Familiar
get_field()function works exactly like ACF - ✅ Beautiful Builder - Intuitive visual field editor with drag-and-drop
- ✅ Smart Features - Conditional logic, field groups, repeaters, and more
- ✅ WordPress.org Ready - Fully compliant with WordPress plugin guidelines
- ✅ Developer Friendly - Clean PHP API, REST endpoints, headless-ready
| For Users | For Developers |
|---|---|
| 📥 Installation Guide | 🤝 Contributing Guide |
| 📚 User Documentation | 📚 Developer Guide |
| 🚀 How to Release | 📖 All Documentation |
- Go to Releases
- Download the latest
openfields-X.X.X.zip - In WordPress admin: Plugins → Add New → Upload Plugin
- Select the ZIP file and click Install Now
- Click Activate Plugin
- Clone the repository:
git clone https://github.com/novincode/openfields.git - Place in
wp-content/plugins/openfields/ - Activate in WordPress admin
The API is simple and familiar if you've used ACF:
// Get a single field value
$product_price = get_field('price', get_the_ID());
echo 'Price: $' . $product_price;
// Get all fields in a fieldset
$product = get_field('product_details', get_the_ID(), false);
// Returns array of all fields in that fieldset
// Repeater fields
if (have_rows('team_members')) {
while (have_rows('team_members')) {
the_row();
echo get_sub_field('name');
}
}That's it! The API is intuitive and requires no special syntax.
# Clone the repository
git clone https://github.com/novincode/openfields.git
cd openfields
# Install dependencies
pnpm install # or npm install
# Start local WordPress
pnpm run wp-env:start
# Build admin UI and watch for changes
pnpm run dev
# WordPress will be available at http://localhost:8888
# Admin: http://localhost:8888/wp-admin (user: admin / pass: password)See DEVELOPER_GUIDE.md for more information.
- Visual Field Builder - Drag-and-drop interface to create fieldsets
- Multiple Field Types - Text, textarea, select, radio, checkbox, switch, repeater, group, and more
- Conditional Logic - Show/hide fields based on other field values
- Location Rules - Display fieldsets on specific post types, user roles, or taxonomies
- Copy & Paste - Duplicate fields between fieldsets with one click
- Import/Export - Share fieldsets as JSON files
- REST API - Full REST endpoint support for headless applications
- No Premium Tiers - All features are completely free
- Developer Guide - API reference and code examples
- Architecture - How the plugin is built
- Contributing - How to contribute to the project
- WordPress Guidelines - Compliance details
- Build System - Build process documentation
Or visit the full docs: openfields.codeideal.com/docs
Backend (PHP) - WordPress meta tables, REST API, clean plugin structure
Frontend (Admin) - React 18 + TypeScript with a beautiful UI
Storage - Automatic meta routing + custom database tables
Full technical details in ARCHITECTURE.md
OpenFields is licensed under GPL v2 or later - completely free and open source.
You can:
- ✅ Use for any purpose (personal, commercial)
- ✅ Modify and distribute
- ✅ No fees, no licensing costs
- ✅ No vendor lock-in
See LICENSE for details.
We'd love your help! See CONTRIBUTING.md for:
- How to report bugs
- How to submit features
- Development setup
- Code style guidelines
If OpenFields has been helpful to you, consider supporting the project:
Even just starring ⭐ the repository helps us grow!