
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.

Custom fields registered against a user profile.

Grouped fields displayed in a metabox with descriptions.