parse_args( 'button', array(
'type' => 'button',
'name' => $field_type->_name(),
'id' => $field_type->_id(),
'class' => 'button ' . ( isset( $field->args['button'] ) && ! empty( $field->args['button'] ) ? 'button-' . $field->args['button'] : '' ),
) );
$button_pattern = '%s';
if( isset( $field->args['action'] ) && ! empty( $field->args['action'] ) ) {
$attrs['name'] = 'gamipress-action';
$attrs['value'] = $field->args['action'];
$attrs['type'] = 'submit';
}
$icon_html = '';
if( isset( $field->args['icon'] ) && ! empty( $field->args['icon'] ) ) {
$icon_html = '';
}
echo sprintf( $button_pattern,
$field_type->_desc( true ),
$field_type->concat_attrs( $attrs ),
$icon_html . ( isset( $field->args['label'] ) && ! empty( $field->args['label'] ) ? $field->args['label'] : $field->args( 'name' ) )
);
}
add_action( 'cmb2_render_button', 'cmb2_render_button', 10, 5 );
endif;
if( ! function_exists( 'cmb2_render_multi_buttons' ) ) :
/**
* Render a multi buttons
*
* @param array $field The field data array
* @param mixed $value The stored value for this field
* @param integer|string $object_id The object ID
* @param string $object_type The object type
* @param CMB2_Types $field_type The field type object
*
* @return string HTML markup for our field
*/
function cmb2_render_multi_buttons( $field, $value, $object_id, $object_type, $field_type ) {
if( ! isset( $field->args['buttons'] ) ) {
$field->args['buttons'] = array();
}
echo $field_type->_desc( true );
foreach( $field->args['buttons'] as $button_id => $button ) {
$attrs = $field_type->parse_args( 'multibutton', array(
'class' => 'button ' . ( isset( $button['button'] ) && ! empty( $button['button'] ) ? 'button-' . $button['button'] : '' ),
'id' => $button_id,
) );
$button_pattern = '';
if( isset( $button['type'] ) && $button['type'] === 'link' ) {
$href = 'javascript:void(0);';
if( isset( $button['link'] ) ) {
$href = $button['link'];
}
if( isset( $button['target'] ) ) {
$attrs['target'] = $button['target'];
}
$button_pattern = '%s';
}
$icon_html = '';
if( isset( $button['icon'] ) && ! empty( $button['icon'] ) ) {
$icon_html = '';
}
echo sprintf( $button_pattern,
$field_type->concat_attrs( $attrs ),
$icon_html . ( isset( $button['label'] ) && ! empty( $button['label'] ) ? $button['label'] : '' )
);
}
}
add_action( 'cmb2_render_multi_buttons', 'cmb2_render_multi_buttons', 10, 5 );
endif;