Open
Description
I am trying to make group fields work at widgets area
First I added a new loop to add group fields correctly:
public function cmb2( $saving = false ) {
// Create a new box in the class
$cmb2 = new CMB2( array(
'id' => $this->option_name .'_box', // Option name is taken from the WP_Widget class.
'hookup' => false,
'show_on' => array(
'key' => 'options-page', // Tells CMB2 to handle this as an option
'value' => array( $this->option_name )
),
), $this->option_name );
foreach ( $this->fields as $field ) {
if ( ! $saving ) {
$field['id'] = $this->get_field_name( $field['id'] );
}
$field['default_cb'] = array( $this, 'default_cb' );
$field_id = $cmb2->add_field( $field );
// Support for group fields
if( $field['type'] == 'group' ) {
foreach( $field['fields'] as $group_field ) {
$cmb2->add_group_field( $field_id, $group_field );
}
}
}
return $cmb2;
}
And the js event to make repeatables working:
(function( window, document, $, cmb ) {
$( document ).on('widget-updated widget-added', function( event, widget ) {
var $metabox = $(widget).find('.cmb2-wrap > .cmb2-metabox');
$metabox
.on('click', '.cmb-add-group-row', cmb.addGroupRow)
.on('click', '.cmb-add-row-button', cmb.addAjaxRow)
.on('click', '.cmb-remove-group-row', cmb.removeGroupRow)
.on('click', '.cmb-remove-row-button', cmb.removeAjaxRow);
});
})( window, document, jQuery, window.CMB2 );
But I miss something, because i got a duplicated group fields in each group, and also save functionallity is not working
Can someone help me to get it working?
Thanks in advance!
Metadata
Metadata
Assignees
Labels
No labels