CMB2 is a developer's toolkit for building metaboxes, custom fields, and forms for WordPress that will blow your mind.
https
. Props @paulschreiber (#1413).shiftRows
functionality to be simpler, and fix issues with JS initialization. Fixes #1426 and #1431.Required parameter $i follows optional parameter $args...
. Props @carloswph (#1417).cmb2_tab_group_tabs
filter for adding arbitrary menu page urls to the cmb2 tabs, and move tab markup output to separate method, CMB2_Options_Hookup::options_page_tab_nav_output()
. Fixes #1407.get_allowed_mime_types()
, which makes SVGs more reliable when using the Safe SVG plugin. Fixes #1223.func_get_args()
. Fixes #1389.5
instead of the default 10
, causing some back-compatibility issues. Fixes #1410.enqueue wp-color-picker
is enqueued for color fields. Props @rubengc (#1339).'file_list'
buttons. Props @pgroot91 (#1347).wysiwyg
field type not working in a group, by ensuring scripts properly enqueued. Props @yoren (#1361).$object_id
doc block types in helper-functions.php. Fixes #1365.PHP Deprecated: Required parameter $field_id follows optional parameter $type
, due to changes in PHP 8.0. Fixes #1396.deprecated_param
method in PHP 7.4. Props @jonathanstegall (#1400).'column' => array( 'disable_sortable' => true )
. Props @RubenMartins (#1281).'taxonomy_select_hierarchical'
. Fixes #751
text
, textarea
and wysiwyg
character counter options. For now, this feature is not available to wysiwyg
field types within repeatable groups. Props @gyrus (#1276).
'char_counter'
- Defaults to false, no counter. Set to true, or words
to count words instead of characters.'char_max'
- integer. When defined, counter shows remaining characters/words.'char_max_enforce'
- boolean, default: false. Currently only applied (as maxlength attribute) to text
and textarea
fields which use 'characters'
for counter.'words_left_text'
- Default: "Words left"'words_text'
- Default: "Words"'characters_left_text'
- Default: "Characters left"'characters_text'
- Default: "Characters"'characters_truncated_text'
- Default: "Your text may be truncated."register_rest_field_cb
, which when used allows overriding the way CMB2 handles the register_rest_field
callbacks, and defining your own REST prefix for your fields. See this PR comment for more context.CMB2_hookup
to CMB2_Hookup
. Classes are case-insensitive, so this is a backwards-compatible change. Props @szepeviktor (#1330, #1328)."cmb2_display_class_{$fieldtype}"
filter and 'display_class'
field parameter to allow specifying the class to use to display the field (in admin columns, etc).CMB2_Types::_id()
to allow not appending the iterator attribute if a repeatable field.CMB2_Utils::concat_attrs()
test for nested arrays as data attributes.cmb2_add_row
triggered event.CMB2_Field::get_rest_value()
to get values for fields in the post REST API endpoints (#1284).file
and text_datetime_timestamp_timezone
field types, the supporting field data was not provided (e.g. the file id for file
field, and the utc
value for the text_datetime_timestamp_timezone
field). Fixes https://wordpress.org/support/topic/cmb2-rest-api-image-file-field-as-an-object/.taxonomy_select_hierarchical
now saves to the correct location, the term relationships table. Props @latheva (#1307)./wp/v2/{post_type}
) would show all boxes for all custom post types even though not registered to the post-type. Props @Mte90 (#1238).function_exists( 'add_action' )
check to bootstrap file to ensure compatibility with composer usage. Props @salcode (#1271, #1270)get_user_locale()
in admin area instead of get_locale()
. Fixes #1267.CMB2::is_box_type()
now also checks for taxonomies if box is registered to "term" object type. This should fix some issues where CMB2 term meta was not showing up in REST API requests to the term endpoints..postbox
divs to ensure compatibility with scripts which expect ids there. Props @amans2k (#1108).CMB2_Option
properties accessible. (#1052)'cmb2_before_field_row'
, "cmb2_before_{$field_type}_field_row"
, "cmb2_after_{$field_type}_field_row"
, 'cmb2_after_field_row'
. Props @rubengc (#953).'cmb2_field_defaults'
, 'cmb2_field_arguments_raw'
, 'cmb2_field_arguments'
. Props @jrfnl (#588).rest_value_cb
registering of filter. Props @lipemat (#1212).CMB2_Utils::filter_empty
from CMB2::save_group_field
is always an array. (#1026)core/editor
object does not exist (is undefined), causing incompatibility issues with Yoast and likely others. Fixes #1197
sv_SE
translation. Props @edvind (#370).'mb_callback_args'
CMB2 box property which allows defining the $callback_args
passed into add_meta_box()
. This allows using defining the new Gutenberg/block-editor compatibility parameters. Fixes #1191
cmb_init_pickers
and cmb_init_code_editors
Javascript events for allowing just-in-time configuration for pickers/editors.CMB2_Field::get_rest_value()
method for sending value through several filters ('cmb2_get_rest_value'
, "cmb2_get_rest_value_{$field_type}"
, "cmb2_get_rest_value_for_{$field_id}"
) before sending to REST request.call_user_func
. Props @manzoorwanijk (#1177).wysiwyg
fields' visual tab wouldn't save content on Gutenberg/block-editor posts. Props @staurand (#1190 fixes #1156).remove_default
wouldn't actually remove the default taxonomy metabox when box registration used an alternate box context. Props @lipemat (#1147).