Lets you easily create metaboxes with custom fields that will blow your mind.
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 402 commits behind WebDevStudios:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Custom Metaboxes and Fields for WordPress


Version: 0.9
Requires at least: 3.3
Tested up to: 3.3
License: GPLv2


Custom Metaboxes and Fields (CMB for short) will create metaboxes with custom fields that will blow your mind.

Field Types:
  • text
  • text small
  • text medium
  • text money
  • date picker
  • date picker (unix timestamp)
  • date time picker combo (unix timestamp)
  • time picker
  • color picker
  • textarea
  • textarea small
  • textarea code
  • select
  • radio
  • radio inline
  • taxonomy radio
  • taxonomy select
  • checkbox
  • multicheck
  • Image/file upload

More on field types (GitHub wiki)


This script is easy to install. If you can't figure it out you probably shouldn't be using it.

  1. Place metabox directory inside of your (activated) theme. E.g. inside /themes/twentyten/lib/metabox/.
  2. Include init.php.
  3. See example-functions.php for further guidance.
  4. Profit.

Known Issues

  • Problem inserting file url inside field for image with caption (issue #50)
  • CMB_META_BOX_URL does not define properly in WAMP/XAMP (Windows) (issue #31)
  • Metabox containing WYSIWYG editor cannot be moved (this is a TinyMCE issue)


  • Fix known issues (above)
  • clean up code
  • improve inline documentation
  • move timepicker and datepicker jQuery inline
  • support for multiple configurable timepickers/datepickers
  • add ability to save fields in a single custom field
  • add ability to mark fields as required
  • add ability to define placeholder text
  • repeatable fields
  • look at possiblity of tabs
  • look at preserving taxonomy hierarchies



  • Note: This release requires WordPress 3.3+
  • Cleaned up scripts being queued, props @jaredatch
  • Cleaned up and reorganized jQuery, props @GaryJones
  • Use $pagenow instead of custom $current_page, props @jaredatch
  • Fixed CSS, removed inline styles, now all in style.css, props @jaredatch
  • Fixed multicheck issues (issue #48), props @jaredatch
  • Fixed jQuery UI datepicker CSS conflicting with WordPress UI elements, props @jaredatch
  • Fixed zeros not saving in fields, props @GaryJones
  • Fixed improper labels on radio and multicheck fields, props @jaredatch
  • Fixed fields not rendering properly when in sidebar, props @jaredatch
  • Fixed bug where datepicker triggers extra space after footer in Firefox (issue #14), props @jaredatch
  • Added jQuery UI datepicker packaged with 3.3 core, props @jaredatch
  • Added date time combo picker, props @jaredatch
  • Added color picker, props @jaredatch
  • Added readme.md markdown file, props @jaredatch


  • Added jQuery timepicker, props @norcross
  • Added 'raw' textarea to convert special HTML entities back to characters, props @norcross
  • Added missing examples on example-functions.php, props @norcross


  • Added the new wp_editor() function for the WYSIWYG dialog box, props @jcpry
  • Created 'cmb_show_on' filter to define your own Show On Filters, props @billerickson
  • Added page template show_on filter, props @billerickson
  • Improvements to the 'file' field type, props @randyhoyt
  • Allow for default values on 'radio' and 'radio_inline' field types, props @billerickson


  • Enabled the ability to define your own custom field types (issue #28). props @randyhoyt


  • Added the ability to limit metaboxes to certain posts by id. props @billerickson


  • Fixed define to prevent notices. props @destos
  • Added text_date_timestap option. props @andrewyno
  • Fixed WYSIWYG paragraph breaking/spacing bug. props @wpsmith
  • Added taxonomy_radio and taxonomies_select options. props @c3mdigital
  • Fixed script causing the dashboard widgets to not be collapsible.
  • Fixed various spacing and whitespace inconsistencies


  • Think we have a release that is mostly working. We'll say the initial release :)