Skip to content
WordPress Plugin Free Featured

OneMeta — Custom Meta Fields Made Simple

A free, open-source WordPress custom fields plugin with a visual drag-and-drop builder, live PHP preview, repeater fields, conditional logic, and REST API support. Lightweight, zero dependencies, 239KB. A modern alternative to ACF.

1.0.0
Mar 4, 2026
OneMeta — Custom Meta Fields Made Simple

OneMeta is a free, open-source WordPress plugin for building and managing custom meta fields — built for developers who want a modern, lightweight alternative to ACF without the bloat or the price tag.

At just 239KB total, OneMeta delivers a visual drag-and-drop builder, 14 field types, repeater fields, conditional logic, live PHP code preview, and a full REST API. No jQuery. No external dependencies. Just clean, fast, modern code.

Built for Developers, Designed for Everyone

Create field groups in minutes with the visual builder, then use a single helper function to retrieve values anywhere in your theme. Or skip the UI entirely — export any field group as clean PHP code and register it directly from your functions.php. OneMeta works whichever way your workflow demands.

14 Field Types, Every Use Case Covered

OneMeta ships with 14 carefully chosen field types organised into four categories — Basic, Choice, Media, and Advanced. Text, Textarea, URL, Email, and Date cover everyday content. Toggle, Select, Radio, Button Group, and Checkbox handle all choice-based inputs. Image, File, and Gallery manage WordPress media library assets. And Repeater lets you build complex, repeatable data structures with any combination of sub-fields.

Every field type returns a predictable, documented value — strings, integers, or arrays — so there are no surprises when you pull data into your templates.

Live PHP Code Preview

The builder includes a live PHP code preview panel that updates in real time as you add and configure fields. You see exactly what the exported code will look like before you save anything. When you’re ready, copy it to your clipboard or download it as a .php file with one click.

Conditional Logic That Works

Show or hide any field based on the value of another field using four operators — ==, !=, contains, and !contains. Conditional logic works visually in the builder and renders correctly on both post edit screens and user profile pages.

Repeater Fields with Full Sub-Field Support

The Repeater field type creates infinitely repeatable rows, each containing any combination of sub-fields. Team members, portfolio items, pricing tiers, FAQs — anything with a repeating structure is handled cleanly. Sub-fields support the full range of field types including media uploads, toggles, and choice fields.

Post Meta and User Meta

Assign field groups to any public post type — posts, pages, or custom post types — or switch to User Meta mode to add custom fields directly to WordPress user profiles. Both contexts are fully supported with dedicated helper functions and REST API endpoints.

Full REST API

OneMeta registers a complete REST API under the onemeta/v1 namespace. Every field group operation — list, read, create, update, delete, and toggle status — is available as a REST endpoint, all protected by the manage_options capability. Field group data is also exposed on standard WordPress post and user REST endpoints.

📄Helper Functionsphp
// Get a post meta value
$value = onemeta_get_meta( get_the_ID(), 'field_key' );

// Get a user meta value
$value = onemeta_get_user_meta( $user_id, 'field_key' );

// With a default fallback
$value = onemeta_get_meta( get_the_ID(), 'field_key', 'Default Value' );

GPL Licensed — Free Forever

OneMeta is released under the GPL-2.0-or-later license — the same license as WordPress itself. Use it in personal projects, client work, and commercial themes without restriction. No license keys, no feature tiers, no upsells. Just a well-built plugin, free and open source.

Screenshots

Built With

PHP JavaScript Sass Vite

Features

  • 14 field types — Text, Textarea, URL, Email, Date, Toggle, Select, Checkbox, Radio, Button Group, Image, File, Gallery, Repeater
  • Visual drag-and-drop field builder — build field groups without writing code
  • Live PHP code preview — see generated code update in real time as you build
  • Export as PHP — export field groups as clean PHP code for use without the plugin
  • Repeater fields — repeatable row groups with full sub-field support
  • Conditional logic — show/hide fields based on other field values (==, !=, contains, !contains)
  • Post meta support — assign field groups to any public WordPress post type
  • User meta support — add custom fields to WordPress user profiles
  • REST API — full CRUD endpoints under onemeta/v1 namespace
  • Field group status toggle — activate or deactivate groups without deleting them
  • Dashboard stats — total groups, active groups, total fields at a glance
  • Helper functions — onemeta_get_meta(), onemeta_update_meta(), onemeta_delete_meta()
  • User helper functions — onemeta_get_user_meta(), onemeta_update_user_meta(), onemeta_delete_user_meta()
  • Zero dependencies — no jQuery, no external libraries
  • 239KB total size — lightweight alternative to ACF
  • PSR-4 autoloaded PHP — clean, modern PHP 8.2 architecture
  • Custom database table — wp_onemeta_field_groups with full CRUD
  • i18n ready — full internationalisation support with .pot file
  • GPL-2.0-or-later — free for personal and commercial use

Changelog

Version 1.0.0 - March 4th, 2026

  • Initial release
  • Add: 14 field types — Text, Textarea, URL, Email, Date, Toggle, Select, Checkbox, Radio, Button Group, Image, File, Gallery, Repeater
  • Add: Visual drag-and-drop field builder with live PHP code preview
  • Add: Export field groups as clean PHP code via onemeta_field_groups filter hook
  • Add: Repeater fields with support for all field types as sub-fields
  • Add: Conditional logic with ==, !=, contains, and !contains operators
  • Add: Full REST API (onemeta/v1) with CRUD endpoints for field groups
  • Add: Post/Page meta support for all public WordPress post types
  • Add: User meta support for WordPress user profiles
  • Add: Helper functions — onemeta_get_meta(), onemeta_update_meta(), onemeta_delete_meta()
  • Add: User helper functions — onemeta_get_user_meta(), onemeta_update_user_meta(), onemeta_delete_user_meta()
  • Add: Dashboard with stats — total groups, active groups, total fields
  • Add: Field group status toggle (active/inactive) without deleting
  • Add: PSR-4 autoloaded PHP architecture with singleton pattern
  • Add: Custom database table wp_onemeta_field_groups
  • Add: Vite 5 build system with modular SCSS and vanilla JS ES modules
  • Add: Full i18n/l10n support with .pot file generation

Frequently Asked Questions

Is OneMeta really free?

Yes, completely. OneMeta is open-source and licensed under GPL-2.0-or-later — the same license as WordPress itself. There are no premium tiers, no feature locks, and no license keys. Everything described on this page is included at no cost.

Is OneMeta a replacement for ACF?

OneMeta covers the most commonly used features of ACF — 14 field types, repeater fields, conditional logic, user meta support, REST API, and PHP export — all for free and at a fraction of the file size (239KB). If you are using ACF Free, OneMeta is a strong modern alternative worth considering.

What are the minimum requirements?

WordPress 6.8 or higher and PHP 8.2 or higher.

How do I get a field value in my theme?

Use the onemeta_get_meta() function for post fields and onemeta_get_user_meta() for user fields. Pass the post or user ID, your field key (without the onemeta_ prefix), and an optional default value:

Can I use OneMeta without the plugin installed on the site?

Yes. Use the Export PHP feature in the builder to export your field group as a PHP file. Drop that file into your theme or plugin and register it via the onemeta_field_groups filter — no plugin dependency required. This is particularly useful for ThemeForest themes and client projects.

Does OneMeta support repeater fields?

Yes. The Repeater field type creates infinitely repeatable rows, each containing any combination of sub-fields. It returns an array of row arrays, which you loop through in your template.

Does it work with the WordPress REST API?

Yes. OneMeta registers a full REST API under the onemeta/v1 namespace with endpoints for listing, reading, creating, updating, deleting, and toggling field groups. All endpoints require the manage_options capability.

How do I install OneMeta?

Download onemeta.zip from GitHub, then go to Plugins → Add New → Upload Plugin in your WordPress admin. Upload the ZIP and activate. Alternatively, clone the repository directly into your wp-content/plugins/ directory.

Will it be available on WordPress.org?

Yes — a WordPress.org submission is in progress. Once approved, OneMeta will be installable directly from the WordPress plugin directory via Plugins → Add New.