Contributors:
- Andrew Norcross ( @norcross / andrewnorcross.com )
- Jared Atchison ( @jaredatch / jaredatchison.com )
- Bill Erickson ( @billerickson / billerickson.net )
- Justin Sternberg ( @jtsternberg / dsgnwrks.pro )
Version: 1.0.0 Requires at least: 3.5 Tested up to: 3.8 License: GPLv2
Custom Metaboxes and Fields (CMB for short) will create metaboxes with custom fields that will blow your mind.
Now in version 1.0.0:
- Bring your metaboxes to the frontend!
- Create metaboxes to handle user meta and display them on user profile add/edit pages! Or even on the front-end!
- text (optionally repeatable)
- text small (optionally repeatable)
- text medium (optionally repeatable)
- text url (optionally repeatable)
- text email (optionally repeatable)
- text money (optionally repeatable)
- date picker
- date picker (unix timestamp)
- date time picker combo (unix timestamp)
- date time picker with time zone combo (serialized DateTime object)
- time zone dropdown
- time picker
- color picker
- textarea
- textarea small
- textarea code
- select
- radio
- radio inline
- taxonomy radio
- taxonomy select
- checkbox
- multicheck
- WYSIWYG/TinyMCE
- Image/file upload
- oEmbed
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.
- Place
metabox
directory inside of your (activated) theme. E.g. inside/themes/twentyten/lib/metabox/
. - Include
init.php
(preferably on the 'init' WordPress hook). - See
example-functions.php
for further guidance. - Profit.
- Problem inserting file url inside field for image with caption (issue #50) May be fixed, needs testing.
CMB_META_BOX_URL
does not define properly in WAMP/XAMP (Windows) (issue #31) May be fixed, needs testing.- 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 (halfway there)
- look at possiblity of tabs
- look at preserving taxonomy hierarchies
- Added
text_datetime_timestamp_timezone
type, a datetime combo field with an additional timezone drop down, props @dessibelle - Added
select_timezone
type, a standalone time zone select dropdown. The time zone select can be used with standalonetext_datetime_timestamp
if desired. Props @dessibelle - Added
text_url
type, a basic url field. Props @dessibelle - Added
text_email
type, a basic email field. Props @dessibelle - Added ability to display metabox fields in frontend. Default is true, but can be overriden using the
cmb_allow_frontend filter
. If set to true, an entire metabox form can be output with thecmb_metabox_form( $meta_box, $object_id, $echo )
function. Props @dessibelle, @messenlehner & @jtsternberg. - Added hook
cmb_after_table
after all metabox output. Props @wpsmith file_list
now works like a repeatable field. Add as many files as you want. Props @coreymcollinstext
,text_small
,text_medium
,text_url
,text_email
, &text_money
fields now all have the option to be repeatable. Props @jtsternberg- Custom metaboxes can now be added for user meta. Add them on the user add/edit screen, or in a custom user profile edit page on the front-end. Props @tw2113, @jtsternberg
- Added field "before" and "after" options for each field. Solves issue with '$' not being the desired text_money monetary symbol, props @GaryJones
- Added filter for 'std' default fallback value, props @messenlehner
- Ensure oEmbed videos fit in their respective metaboxes, props @jtsternberg
- Fixed issue where an upload field with 'show_names' disabled wouldn't have the correct button label, props @jtsternberg
- Better file-extension check for images, props @GhostToast
- New filter,
cmb_valid_img_types
, for whitelisted image file-extensions, props @jtsternberg
- Added field type and field id classes to each cmb table row, props @jtsternberg
- Added post type comparison to prevent storing null values for taxonomy selectors, props @norcross
- Added
oEmbed
field type with ajax display, props @jtsternberg
- 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 :)