Description
OZY Custom Fields is a beginner-friendly way to add custom fields to any WordPress site, with every advanced feature included for free. Build field groups visually, decide where they appear with flexible location rules, and read your data on the front end with a clean template API.
Everything free. No paywall for the features that matter — repeater, group, and clone fields are in the box, alongside 24 field types.
AI Field Generator. Describe what you need in plain language — English or Urdu — and the plugin drafts a whole field group for you. On WordPress 7.0+ it uses the AI Client built into WordPress, so whichever provider you have connected under Settings Connectors is used automatically and no key is stored by this plugin. On older versions, or if you prefer, you can supply your own provider key (free-tier options like Groq and Google Gemini are supported). Either way nothing is sent anywhere without your explicit action. See the External Services section below for exactly what is transmitted.
Beginner-first. A Quick Start wizard sets up your first fields in a few clicks — no need to know what a “custom post type” is. It can even create a matching content type for you, if you want one.
Developer friendly. A full template API, shortcodes, block editor blocks, a REST API, and dozens of action and filter hooks to extend everything.
Field types
Text, Textarea, Number, Email, URL, Password, Select, Multi-Select, Checkbox, Radio, Toggle, True/False, Image, File, Gallery, WYSIWYG, Date, Date & Time, Time, Color, Link, Post Object, Taxonomy, User — plus the advanced Repeater, Group, and Clone fields.
Where fields can appear
Attach field groups by post type, post status, post format, page template, or user role — with multiple rule groups combined using AND/OR logic. Fields render on post, term, and user edit screens and save to standard WordPress meta.
Template API
ozycf_get_field( 'price' ) returns a value, `ozycf_the_field( 'price' )` prints it, and repeaters loop cleanly:
if ( ozycf_have_rows( 'slides' ) ) { while ( ozycf_have_rows( 'slides' ) ) { ozycf_the_row(); ozycf_the_sub_field( 'title' ); } }
Also available: ozycf_get_fields(), ozycf_has_field(), ozycf_get_sub_field(), the [ozycf_field] and [ozycf_repeater] shortcodes, and the “OZY Field” and “OZY Repeater” blocks.
Built by OZY Solutions
Learn more at ozysolutions.com.
External Services
This plugin does not contact any external service as part of its normal operation. Creating field groups, saving values, and displaying fields on your site are entirely local to your WordPress installation.
The plugin’s optional AI features are the only functionality that transmits data off your server. They are disabled until an AI provider is available, and a request is made only at the moment you click an AI action in the admin (for example “Generate”, “Improve group”, or “Test connection”). No AI request is ever made on the front end, on a schedule, or in the background.
Which service is contacted
You choose the provider, in one of two ways.
Preferred, on WordPress 7.0 and later: the plugin calls the AI Client bundled with WordPress core. WordPress routes the request to whichever provider you connected under Settings Connectors, and WordPress — not this plugin — holds the credentials. Which company receives the data therefore depends on that connector; consult its own terms and privacy policy.
Fallback, or by choice: if you paste a provider key under Custom Fields Settings, the plugin calls that provider directly using the WordPress HTTP API. Depending on your selection, requests go to one of the following:
- OpenAI — endpoint
https://api.openai.com/v1/chat/completions— Terms of Use — Privacy Policy - Anthropic (Claude) — endpoint
https://api.anthropic.com/v1/messages— Terms — Privacy Policy - Google (Gemini) — endpoint
https://generativelanguage.googleapis.com/v1beta/models/— Terms — Privacy Policy - Groq — endpoint
https://api.groq.com/openai/v1/chat/completions— Terms of Use — Privacy Policy - Mistral AI — endpoint
https://api.mistral.ai/v1/chat/completions— Terms — Privacy Policy
What data is sent
Only what the AI feature needs to do its job, plus your API key for authentication:
- The description you type into the AI prompt box.
- For helpers that operate on an existing field group (improve, generate location rules, generate conditional logic, suggest field types, bulk rename), the structure of that field group: field names, labels, types, and settings.
- For the schema converter, the field definition text you paste in.
- For the content-model generator, the site type or description you provide.
No post content, no field values, no user data, and no site visitor data are transmitted. If no AI provider is connected in WordPress and you never enter an API key, no external request is possible.
Because the site owner supplies the API key and triggers each request, the site owner is responsible for disclosing this third-party processing in their own privacy policy where required.
Screenshots






Blocks
This plugin provides 4 blocks.
- OZY Field
- OZY Repeater
- OZY Gallery
- OZY Relationship
Installation
- Upload the
ozy-custom-fieldsfolder to/wp-content/plugins/, or install through the Plugins screen in WordPress. - Activate the plugin.
- Follow the Quick Start wizard, or open Custom Fields Add New to build a group by hand.
- (Optional) To use the AI Field Generator, add a provider key under Custom Fields Settings.
FAQ
-
Does this send my content to any external service?
-
Not on its own. The plugin makes no external request of any kind until you explicitly use the optional AI features, which call the AI provider you configured with your own API key. Nothing is sent in the background, and there is no telemetry, tracking, or update check. The External Services section documents precisely what is sent, when, and to whom.
-
Do I need to pay for AI?
-
No. The AI features are entirely optional — the plugin is fully functional without them. On WordPress 7.0+ they use whatever provider you have connected to WordPress itself, so there is nothing extra to configure here. Otherwise you can use free-tier providers such as Groq or Google Gemini with your own key. Paid providers (OpenAI, Anthropic, Mistral) are also supported if you prefer them.
-
Where are my field values stored?
-
In standard WordPress meta tables (post, term, and user meta) and in the options table for Options Pages, so they remain accessible via the REST API, WP-CLI, and normal backups. Field group definitions are stored in a dedicated plugin table.
-
Will my data be deleted if I uninstall?
-
No, unless you explicitly opt in. Deleting the plugin keeps your data by default; a setting under Settings lets you request full cleanup on uninstall.
-
Can I move field groups between sites?
-
Yes. Use Tools to export groups as JSON and import them elsewhere, or sync all groups with a local file for version control and staging workflows.
-
Is it translation ready?
-
Yes. All strings are translation-ready with the
ozy-custom-fieldstext domain. Translations are contributed and delivered through translate.wordpress.org, so no translation files are bundled with the plugin.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“OZY Custom Fields” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “OZY Custom Fields” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.2.2
- Fixed: a field added in the builder kept the machine name
new_field,new_field_2and so on, because the name stopped following the Field Label as soon as the row was created. New fields now take their name from the label until you edit the name yourself. - Fixed: the
wp ozycfWP-CLI commands were defined but never registered, sowp ozycf list,export,importandgeneratewere unavailable. They now work, and the Documentation screen shows the correct flags for them. - All rendered markup now passes through a shared wp_kses() allowlist at the point of output, including the values returned by shortcode and block render callbacks.
- Submitted arrays are unslashed and normalised on input before the per-field-type sanitisers run.
- JSON folder sync now defaults to a folder inside the uploads directory instead of wp-content.
- WP-CLI export writes through the WordPress filesystem API and validates the target path.
1.2.1
- AI now uses the AI Client built into WordPress 7.0 by default, so the provider and its credentials are managed by WordPress under Settings Connectors. The existing bring-your-own-key providers remain available as a fallback on older versions.
- Shortcodes are now prefixed
ozycf_([ozycf_field],[ozycf_repeater],[ozycf_image],[ozycf_gallery],[ozycf_relationship]). - Translations are delivered through translate.wordpress.org; no translation files are bundled.
1.2.0
- Redesigned admin UI: a clean top navigation bar (Field Groups, Post Types, Taxonomies, More), a lighter page header with the primary action, and single-column, full-width field settings.
- Fixed: the “Add Field” button could do nothing on sites where another plugin had deregistered jQuery UI — the builder now loads independently, and drag-to-reorder degrades gracefully when jQuery UI Sortable is unavailable.
- Quick Start now builds complete setups: the matching post type, its taxonomies, and multiple field groups (with repeaters and galleries) for Real Estate, Portfolio, Hospital, Services, Agency, Events, Products, and more.
- New in-app Documentation screen (More Documentation), organised into topic tabs instead of one long page — Getting started, Field types, Show a field, Repeater & Group, Images & galleries, Relationships, Post types & taxonomies, Options pages, Shortcodes, Page builders, AI helpers, and Import/export & sync.
- Documentation now also covers a full field-type reference (what every type gives you back), creating post types and taxonomies, and the import/export/JSON-sync workflow.
- Translations: the bundled
.pottemplate now covers all translatable strings, and the Urdu translation ships compiled so it actually loads.
1.1.0
- New field group edit experience: group-level tabs (Fields, Location, Presentation, Settings, AI) with full-width settings panels.
- Field rows now have their own tabs: General, Validation, Presentation, Conditional Logic, and Advanced.
- Group presentation controls: style, position, label and instruction placement, menu order, description, and “hide on screen” for standard editor panels.
- Field-level additions: placeholder, prepend/append text, min/max length, min/max value, pattern, custom error message, width, wrapper class/ID, REST visibility, and REST field name.
- Visual choices editor (value / label rows) for Select, Multi-Select, Radio, and Checkbox, with backward-compatible loading of the old text format.
- Expanded field-type options across text, number, choice, media, date, relationship, and structural field types.
- More location rules — Specific Post, Attachment, Taxonomy, Taxonomy Term, Current User, User Form, and Block — plus a natural-language rule builder.
- Field groups can now attach to taxonomy term screens (add and edit) and the add-new-user form, saving to term and user meta.
- Field-group blocks: enable “Show in block editor” on a group to insert it as a block, edit its fields in the sidebar with a live preview, and store the values in the block itself.
- Options Pages: register settings screens and read their values with ozycf_get_field( ‘name’, ‘option’ ).
- AI helpers on the new AI tab: improve a group, generate location rules, generate conditional logic, suggest better field types, bulk rename, design an options page, and convert a pasted field schema.
- Tools: export a group as a PHP registration file; register groups from code with ozycf_add_local_field_group().
- Optional JSON folder sync for version control and staging workflows.
- WP-CLI: wp ozycf list, export, import, and generate.
- Admin-bar field search that jumps straight to any field.
1.0.2
- Post Types: the full breadth of register_post_type() options — description, menu position, custom archive slug, visibility (publicly queryable, exclude from search, admin UI/menu/nav/admin bar, parent menu), permalinks (rewrite slug, with-front, feeds, pagination, query var), REST base & namespace, capabilities (capability type, map meta cap, export, delete with user), extra supports (trackbacks, post formats), and custom label overrides.
- Taxonomies: matching advanced options — description, visibility, permalinks, REST, sort, and custom label overrides.
- Advanced options are grouped into collapsible sections (Visibility, Permalinks, REST API, Capabilities, Custom labels).
- AI content-model generator now sets an appropriate menu icon and can emit the new post type / taxonomy options.
1.0.1
- Fixed the AI Field Generator modal not closing when clicking the close (×) button or the overlay.
- Added Escape-key support to close the AI Field Generator modal.
1.0.0
- Initial release.
- 24 field types plus Repeater, Group, and Clone.
- Visual field group builder with drag-and-drop reordering.
- Location rules (post type, status, format, template, user role) with AND/OR logic.
- Template API, shortcodes, and dynamic block editor blocks.
- REST API: field values on core endpoints and a field-group CRUD API.
- AI Field Generator with multi-provider support and automatic fallback.
- Quick Start wizard with optional custom post type creation.
- Import, export, and local file sync.
