Contributors: webdevstudios, jtsternberg, gregrickaby, tw2113, patrickgarman, JPry
Donate link: http://webdevstudios.com
Tags: metaboxes, forms, fields, options, settings
Requires at least: 3.8.0
Tested up to: 4.2.2
Stable tag: 2.0.8
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Complete contributors list found here: github.com/WebDevStudios/CMB2/graphs/contributors
CMB2 is a developer's toolkit for building metaboxes, custom fields, and forms for WordPress that will blow your mind.
Download plugin on wordpress.org
CMB2 is a complete rewrite of Custom Metaboxes and Fields for WordPress. To get started, please follow the examples in the included example-functions.php
file and have a look at the basic usage instructions.
You can see a list of available field types here.
- Create metaboxes to be used on post edit screens.
- Create forms to be used on an options pages.
- Create forms to handle user meta and display them on user profile add/edit pages.
- Flexible API that allows you to use CMB forms almost anywhere, even on the front-end.
- Several field types are included.
- Custom API hook that allows you to create your own field types.
- There are numerous hooks and filters, allowing you to modify many aspects of the library (without editing it directly).
- Repeatable fields for most field types are supported, as well as repeatable field groups.
- CMB2 is safe to bundle with any project. It will only load the newest version in the system.
- Thanks to many in the CMB2 community and to our friends at wp-translations.org, we have a good start on several translations for CMB2. Please feel free to work with wp-translations.org to provide even more!
-
CMB2 Field Type: CMB Attached Posts Field from coreymcollins:
custom_attached_posts
, for attaching posts to a page. -
CMB2 Field Type: CMB2 Post Search field:
post_search_text
adds a post-search dialog for searching/attaching other post IDs. -
CMB2 Field Type: CMB2 RGBa Colorpicker from JayWood:
rgba_colorpicker
adds a color picker that supports RGBa, (RGB with transparency (alpha) value). -
CMB2 Field Type: Google Maps from mustardBees: Custom field type for Google Maps.
The
pw_map
field stores the latitude/longitude values which you can then use to display a map in your theme. -
CMB2 Field Type: Select2 from mustardBees: Custom field types which use the Select2 script:
- The
pw_select field
acts much like the default select field. However, it adds typeahead-style search allowing you to quickly make a selection from a large list - The
pw_multiselect
field allows you to select multiple values with typeahead-style search. The values can be dragged and dropped to reorder
- The
-
CMB Field Type: Slider from mattkrupnik: Adds a jQuery UI Slider field.
-
WDS CMB2 Date Range Field from dustyf of WebDevStudios: Adds a date range field.
-
CMB2 Remote Image Select from JayWood of WebDevStudios: Allows users to enter a URL in a text field and select a single image for use in post meta. Similar to Facebook's featured image selector.
- Taxonomy_MetaData: WordPress Helper Class for saving pseudo-metadata for taxonomy terms. Includes an extended class for using CMB to generate the actual form fields.
- CMB2 Taxonomy from jcchavezs: Similar to Taxonomy_MetaData, but uses a custom table for taxonomy term meta storage.
- WordPress Shortcode Button: Uses CMB2 fields to generate fields for shortcode input modals.
- WDS-Simple-Page-Builder: Uses existing template parts in the currently-active theme to build a customized page with rearrangeable elements. Built with CMB2.
- CMB2 Example Theme: Demonstrate how to include CMB2 in your theme, as well as some cool tips and tricks.
- facetwp-cmb2: FacetWP integration with CMB2.
All contributions welcome. If you would like to submit a pull request, please check out the trunk branch and pull request against it. Please read the CONTRIBUTING doc for more details.
A complete list of all our awesome contributors found here: github.com/WebDevStudios/CMB2/graphs/contributors
If installing the plugin from wordpress.org:
- Upload the entire
/CMB2
directory to the/wp-content/plugins/
directory. - Activate CMB2 through the 'Plugins' menu in WordPress.
- Copy (and rename if desired)
example-functions.php
into to your theme or plugin's directory. - Edit to only include the fields you need and rename the functions.
- Profit.
If including the library in your plugin or theme:
- Place the CMB2 directory inside of your theme or plugin.
- Copy (and rename if desired)
example-functions.php
into a folder above the CMB2 directory OR copy the entirety of its contents to your theme'sfunctions.php
file. - Edit to only include the fields you need and rename the functions (CMB2 directory should be left unedited in order to easily update the library).
- Profit.
- Fix color-picker field not enqueueing the colorpicker script. (#333)
- Ability to use non-repeatable group fields by setting the
'repeatable'
field param tofalse
when registering a group field type. Props marcusbattle, (#159). - Add and enqeueue a front-end specific CSS file which adds additional styles which are typically covered by wp-admin css. (#311)
- Better handling of the CMB2 javascript (and CSS) required dependencies array. Dependencies are now only added conditionally based on the field types that are actually visible. (#136)
- THIS IS A BREAKING CHANGE: The
group
field type's'show_on_cb'
property now receives theCMB2_Field
object instance as an argument instead of theCMB2
instance. If you're using the'show_on_cb'
property for agroup
field, please adjust accordingly. note: you can still retrieve theCMB2
instance via thecmb2_get_metabox
helper function. - New dynamic hook,
"cmb2_save_{$object_type}_fields_{$this->cmb_id}"
, to complement the existing"cmb2_save_{$object_type}_fields"
hook. - German translation provided by Friedhelm Jost.
- Fix incorrect repeatable group title number. (#310)
- Fix obscure bug which prevented group field arguments from being passed to the sub-fields (like
show_names
andcontext
). - Fixed occasional issue when adding a group row, the previous row's content would be cloned. (#257)
- The CMB2 url (for css/js resources) does not define properly in all WAMP/XAMP (Windows) environments.
- Metabox containing WYSIWYG editor cannot be moved or used in a repeatable way at this time (this is a TinyMCE issue).
- Not all fields work well in a repeatable group.