A grid system for Wordpress CMB2 library that allows the creation of columns for a better layout in the admin., (*1)
For now you have to install this as a WordPress plugin:, (*2)
/wp-content/plugins/
directoryCreate your cmb2 metabox like you always do:, (*3)
$prefix = '_yourprefix_demo_'; $cmb = new_cmb2_box(array( 'id' => $prefix . 'metabox', 'title' => __('Test Metabox', 'cmb2'), 'object_types' => array('page',), // Post type )); $field1 = $cmb->add_field(array( 'name' => __('Test Text', 'cmb2'), 'desc' => __('field description (optional)', 'cmb2'), 'id' => $prefix . 'text', 'type' => 'text', )); $field2 = $cmb->add_field(array( 'name' => __('Test Text2', 'cmb2'), 'desc' => __('field description2 (optional2)', 'cmb2'), 'id' => $prefix . 'text2', 'type' => 'text', ));
Now, create your columns like this:, (*4)
if(!is_admin()){ return; } $cmb2Grid = new \Cmb2Grid\Grid\Cmb2Grid($cmb); $row = $cmb2Grid->addRow(); $row->addColumns(array($field1, $field2));
You can also use custom bootstrap column classes if you want, like this, (*5)
$row->addColumns(array( array($field1, 'class' => 'col-md-8'), array($field2, 'class' => 'col-md-4') ));
FAQ - It works on group fields also - If you want, you can opt to use the metabox and the field IDs also. - Currently the grid system is using a lite version of Twitter Bootstrap - You can create as much rows as you want - You have to put the fields in the columns in the same order they were created - You can follow exactly what is in Test/Test.php file to see it in action, (*6)
This is what you get using columns, (*7)
, (*8)