Skip to content
WordPress.org

isiZulu

  • Themes
  • Plugins
  • About
  • Get WordPress
Get WordPress
WordPress.org

Plugin Directory

Custom Metadata Manager

  • Submit a plugin
  • My favorites
  • Log in
  • Submit a plugin
  • My favorites
  • Log in

Custom Metadata Manager

By Mohammad Jangda
Download
  • Details
  • Reviews
  • Installation
  • Development
Support

Description

Custom Metadata Manager gives developers a single, consistent API for adding custom fields to any object type in WordPress: post, page, any custom post type, user and comment. Rather than offering a point-and-click interface, it follows the WordPress approach of registering content in code, so your fields live alongside the rest of your theme or plugin.

Fields are grouped into metaboxes, stored through the standard WordPress metadata APIs, and remain available even if the plugin is later deactivated. You can render fields with the built-in field types or supply your own display and sanitisation callbacks, and you can include or exclude fields and groups for specific objects, either by ID or through a callback.

This approach is particularly useful when working across multiple environments (local, staging and production), because your field definitions travel with your code and need no database synchronisation.

Usage

Custom Metadata Manager is a developer-focused plugin: you register your fields and groups in code, typically from a theme’s functions.php or your own plugin. The full API reference — object types, registering fields and groups, include and exclude rules, multifields and worked examples — is documented in DEVELOPERS.md.

Contributing

Contributions are welcome. Please read CONTRIBUTING.md for how to set up a local environment, run the tests and submit a pull request.

Support

Please report bugs and request features through the GitHub issue tracker.

Credits

Custom Metadata Manager is maintained by Automattic, and was originally created by Stresslimit. Thank you to the many community contributors who have helped shape the plugin.

License

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2 or later, as published by the Free Software Foundation. It is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the LICENSE file for the full licence text.

Screenshots

A custom metabox added to the post editing screen.
A custom metabox added to the post editing screen.
Custom fields registered against a user profile.
Custom fields registered against a user profile.
Grouped fields displayed in a metabox with descriptions.
Grouped fields displayed in a metabox with descriptions.

Installation

  1. Install through the WordPress admin, or upload the plugin folder to your /wp-content/plugins/ directory.
  2. Activate the plugin through the Plugins menu in WordPress.
  3. Add the code to register your custom groups and fields to your theme’s functions.php or your own plugin.
  4. Enjoy.

FAQ

Why a code-based approach instead of a UI?

Because the UI approach has been done many times before, and a code-based approach aligns more closely with the existing WordPress model for registering content, such as post types and taxonomies.

This is a developer feature aimed at site builders. The main benefit becomes clear when you work across multiple environments (development, staging and production): you can replicate interfaces and features without worrying about database synchronisation.

Why isn’t the function just `add_metadata_field`? Why the `x_` prefix?

We are namespacing our public functions, and you should too. The x_ prefix keeps the plugin’s functions from clashing with anything else in WordPress core, themes or other plugins.

How do I use this plugin?

See DEVELOPERS.md for full instructions, and the custom_metadata_examples.php file for worked examples.

Reviews

Very good for simple development

tantaluspl July 10, 2017
If all you need is adding few custom metaboxes here and there to couple them with some other functionalities, this is a very clean solution. Saved me a ton of work!
Read all 5 reviews

Contributors & Developers

“Custom Metadata Manager” is open source software. The following people have contributed to this plugin.

Contributors
  • Mohammad Jangda
  • Automattic
  • Gary Jones

Translate “Custom Metadata Manager” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

The full version history is recorded in CHANGELOG.md.

Meta

  • Version 0.8.0
  • Last updated 22 hours ago
  • Active installations 700+
  • WordPress version 6.4 or higher
  • Tested up to 7.1
  • PHP version 7.4 or higher
  • Language
    English (US)
  • Tags
    custom fieldscustom post typesmeta boxesmetadata
  • Advanced View

Ratings

4.4 out of 5 stars.
  • 3 5-star reviews 5 stars 3
  • 1 4-star review 4 stars 1
  • 1 3-star review 3 stars 1
  • 0 2-star reviews 2 stars 0
  • 0 1-star reviews 1 star 0

Your review

See all reviews

Contributors

  • Mohammad Jangda
  • Automattic
  • Gary Jones

Support

Got something to say? Need help?

View support forum

  • About
  • News
  • Hosting
  • Privacy
  • Showcase
  • Themes
  • Plugins
  • Patterns
  • Learn
  • Support
  • Developers
  • WordPress.tv ↗
  • Get Involved
  • Events
  • Donate ↗
  • Swag ↗
  • WordPress.com ↗
  • Matt ↗
  • bbPress ↗
  • BuddyPress ↗
WordPress.org
WordPress.org

isiZulu

  • Visit our X (formerly Twitter) account
  • Visit our Bluesky account
  • Visit our Mastodon account
  • Visit our Threads account
  • Visit our Facebook page
  • Visit our Instagram account
  • Visit our LinkedIn account
  • Visit our TikTok account
  • Visit our YouTube channel
  • Visit our Tumblr account
Code is Poetry.
The WordPress® trademark is the intellectual property of the WordPress Foundation.