CMB2 is a developer’s toolkit for building metaboxes, custom fields, and forms for WordPress that will blow your mind. Easily manage meta for posts, terms, users, comments, or create custom option pages.
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.
Contribution
Development occurs on Github, and all contributions welcome. Please read the CONTRIBUTING doc for more details.
A complete list of all our awesome contributors found here: github.com/CMB2/CMB2/graphs/contributors
Features:
Translation
If you are looking to provide language translation files, Please do so via WordPress Plugin Translations.
Documentation
- CMB2 documentation can be found at the CMB2 wiki on github. Also, If you’re into reading code and inline documentation, we tried to keep all functions and methods fully inline-documented.
3rd Party Resources
Custom Field Types
- CMB2 Field Type: CMB Attached Posts Field from coreymcollins:
custom_attached_posts
, for attaching posts to a page.
- CMB2 Field Type: Post Search Ajax by alexis-magina:
post_search_ajax
Attach posts to each other. Same approach as CMB2 Attached Posts Field but with Ajax request, multiple/single option, and different UI.
- CMB2 Field Type: Ajax Search from rubengc: 3 different fields with the same UI in AJAX to search (with query parameters) to users, post type and taxonomy terms.
- CMB2 Field Type: CMB2 User Search field from Mte90:
user_search_text
adds a user-search dialog for searching/attaching other User IDs.
-
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: Leaflet Maps from villeristi: Custom field type for Leaflet Maps.
-
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
-
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.
- CMB Field Type: Sorter: This plugin gives you two CMB field types based on the Sorter script.
- CMB Field Type: Tags: WordPress-Tags-like field type for CMB2. note: this does not set the post tags, but simply provides a unique text input
- CMB Field Type: Link Picker: Using the Link Picker for CMB2 control, you can choose a link from your WordPress site, or manually enter a link. You can also identify if the link should open in a new window, or not.
- CMB Field Type: MultidatesPicker: Creates a CMB2 field type that enables a multiple date calendar. It uses a plugin called MultiDatesPicker v1.6.3 for jQuery UI.
- CMB Field Type: CMB2-radio-image: Image as radio buttons.
- CMB2 Term Select: Special CMB2 Field that allows users to define an autocomplete text field for terms. Note: this will set the taxonomy terms, but has the option (
'apply_term' => false
) to disable and save the term ids as data instead (like for options pages, etc).
- CMB2 Related Links: Allows users to add a related links via a repeating field group. Field inputs are powered by the CMB2 Field Type: CMB2 Post Search field documented above, and so each link can be populated with existing WordPress content by clicking on the search button. Note: this is not a standard field type, but instead a function you use in combination with CMB2::add_field().
- CMB2 Field Type: Order by rubengc: Allows users to define custom order of predefined options.
- CMB2 Field Type: Animation by rubengc: Allows users to pickup an animation from Animate.css (includes preview of chosen animation).
- CMB2 Field Type: Ajax Search by rubengc: Based on CMB2 Field Type: Post Search Ajax, adds the ability to attach posts/users/terms, and the ability to limit the maximum number of attached objects.
- CMB2 Field Type: Visual Style Editor by rubengc: Custom field for CMB2 which allows customizing style from a small set of controls.
- CMB2 Field Type: Content Wrap by rubengc: Custom field for CMB2 to store a content wrap values (padding, margin or border width).
- CMB2 Field JS Controls by rubengc: Show any field similar to WordPress publishing actions (Post/Page post_status, visibility and post_date submit box field).
- CMB2 Field Type: Position by rubengc: CMB2 field type to setup a jquery UI position values.
- CMB2 Field Type: CMB2 Roadway Segments by pixelwatt: This plugin adds a new CMB2 fieldtype for drawing roadway segments onto a map and provides a shortcode for display.
- CMB2 Field Type: Font Awesome by serkanalgur: This plugin adds a new CMB2 field type for selecting Font Awesome icons.
- CMB2 Field Type: Typography by eduplessis: This plugin adds a new CMB2 field type “Typography” and it use jQuery fontselect for the font-family selection.
- CMB2 Field Type: Markdown by Rekenna: This plugin adds a new CMB2 field type “CMB2 Markdown” where you can type in markdown and view a live preview of the results or convert to html with a button.
- CMB2 Field Type: Switch Button by themevan: This plugin adds a Custom Switch Button field type for CMB2.
- CMB2 Field Type: select_plus from manzoorwanijk: Select field type which acts much like the default
select
field. However, it adds the support for optgroup
and saving of values with multiple
attribute.
- CMB2 Field Type: Address by scottsawyer: Just a simple, repeatable address field. It’s really just the snippet from CMB2 Snippet Library converted to a plugin.
- CMB2 Field Type: Link by scottsawyer: Create a link field with some attributes. Very nice for styling links.
- CMB2 Field Type: Widget Selector by scottsawyer: Need a field that lets you ( or your editor ) select / display an existing widget instance? Then this is the plugin for you.
Other Helpful Resources
Links
View CHANGELOG
Known Issues
- 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.