Skip to content

Latest commit

 

History

History
132 lines (97 loc) · 11.3 KB

readme.md

File metadata and controls

132 lines (97 loc) · 11.3 KB

CMB2

Gitter Travis Scrutinizer Code Quality Scrutinizer Coverage Project Stats

Contributors: webdevstudios, jtsternberg, gregrickaby, tw2113, patrickgarman
Donate link: http://webdevstudios.com
Tags: metaboxes, forms, fields, options, settings
Requires at least: 3.8.0
Tested up to: 4.2.1
Stable tag: 2.0.6
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Wordpress plugin Wordpress Wordpress rating

Complete contributors list found here: github.com/WebDevStudios/CMB2/graphs/contributors

Description

CMB2 is a metabox, custom fields, and forms library for WordPress that will blow your mind.

Plugin available 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.

Features:

Translation

3rd Party Resources

Custom Field Types

Other Helpful Resources

  • 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.

Contribution

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

Links

Installation

If installing the plugin from wordpress.org:

  1. Upload the entire /CMB2 directory to the /wp-content/plugins/ directory.
  2. Activate CMB2 through the 'Plugins' menu in WordPress.
  3. Copy (and rename if desired) example-functions.php into to your theme or plugin's directory.
  4. Edit to only include the fields you need and rename the functions.
  5. Profit.

If including the library in your plugin or theme:

  1. Place the CMB2 directory inside of your theme or plugin.
  2. 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's functions.php file.
  3. 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).
  4. Profit.

Most Recent Changes - 2.0.6

Enhancements

  • New metabox/form parameter, show_on_cb, allows you to conditionally display a cmb metabox/form via a callback. The $cmb object gets passed as a parameter to the callback. This complements the 'show_on_cb' parameter that already exists for individual fields. Using this callback is similar to using the 'cmb2_show_on' filter, but only applies to that specific metabox and it is recommended to use this callback instead as it minimizes th risk that your filter will affect other metaboxes.
  • Taxonomy types no longer save a value. The value getting saved was causing confusion and is not meant to be used. To use the saved taxonomy data, you need to use the WordPress term api, get_the_terms , get_the_term_list, etc.
  • Add 'multiple' field parameter to store values in individual rows instead of serialized array. Will only work if field is not repeatable or a repeatable group. Props JohnyGoerend. (#262, #206, #45).
  • Portuguese (Brazil) translation provided by @lucascdsilva - #293.
  • Spanish (Spain) translation updated by @yivi - #272.
  • Added group field callback parameters, 'before_group', 'before_group_row', 'after_group_row', 'after_group' to complement the 'before_row', 'before', 'after', 'after_row' field parameters.
  • Better styling for title fields and title descriptions on options pages.
  • Add a sanitization_cb field parameter check for the group field type.
  • Better function/file doc-blocks to provide better documentation for automated documentation tools. See: cmb2.io/api.
  • cmb2_print_metabox_form, cmb2_metabox_form, and cmb2_get_metabox_form helper functions now accept two new parameters:
    • an 'object_type' parameter to explictly set that in the $cmb object.
    • an 'enqueue_js' parameter to explicitly disable the CMB JS enqueue. This is handy if you're not planning on using any of the fields which require JS (like color/date pickers, wysiwyg, file, etc).

Bug Fixes

  • Fix issue with oembed fields in repeatable groups where changing video changed it for all fields in a group.
  • Fix empty arrays (like in the group field) saving as a value.
  • Move 'cmb2_override_meta_value' and "cmb2_override_{$field_id}_meta_value" filters to the CMB2_Field::get_data() method so that the filters are applied every time the data is requested. THIS IS A BREAKING CHANGE: The parameters for those filters have changed a bit. Previously, the filters accepted 5 arguments, $value, $object_id, $field_args, $object_type, $field. They have changed to accept 4 arguments instead, $value, $object_id, $args, $field, where $args is an array that contains the following:
    • @type string $type The current object type
    • @type int $id The current object ID
    • @type string $field_id The ID of the field being requested
    • @type bool $repeat Whether current field is repeatable
    • @type bool $single Whether current field is a single database row

View complete changelog

Known Issues

  • 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.