$meta_value ) {
update_user_meta( $user_id, $meta_key, $meta_value );
}
}
/**
* Register WCFM settings page tabs
*
* @return [type] [description]
*/
public function register_tab( $data ) {
$args = $data['args'];
$fields = $data['meta_fields'];
$hook = ! empty( $args['wcfm_position'] ) ? $args['wcfm_position'] : 'end_wcfm_marketplace_settings';
$name = ! empty( $args['name'] ) ? $args['name'] : 'jet-engine-meta';
$object_name = 'WCFM: ' . $name;
jet_engine()->meta_boxes->store_fields( $object_name, $fields );
add_action( $hook, function( $user_id ) use ( $args, $fields ) {
global $WCFM, $WCFMmp;
self::$index++;
$name = ! empty( $args['name'] ) ? $args['name'] : 'jet-engine-meta';
$id = sanitize_key( $name . ' ' . self::$index );
$icon = ! empty( $args['wcfm_icon'] ) ? $args['wcfm_icon'] : 'fa-cogs';
?>
meta_boxes->component_path( 'post.php' );
}
$meta_box = new Jet_Engine_CPT_Meta();
foreach ( $fields as $field ) {
$args= array(
'label' => $field['title'],
'placeholder' => ! empty( $field['placeholder'] ) ? $field['placeholder'] : '',
'id' => 'jet_wcfm_' . $field['name'],
'name' => 'jet_wcfm[' . $field['name'] . ']',
'type' => $field['type'],
'class' => 'wcfm-' . $field['type'] . ' wcfm_ele',
'label_class' => 'wcfm_title wcfm_ele',
'value' => get_user_meta( $user_id, $field['name'], true ),
'attributes' => array(),
);
if ( ! empty( $field['description'] ) ) {
$args['hints'] = $field['description'];
}
switch ( $field['type'] ) {
case 'select':
if ( empty( $field['options'] ) ) {
$args['options'] = array();
}
$prepared_options = $meta_box->prepare_select_options( $field );
$args['options'] = $prepared_options['options'];
$multiple = ! empty( $field['is_multiple'] ) ? $field['is_multiple'] : false;
$multiple = filter_var( $multiple, FILTER_VALIDATE_BOOLEAN );
if ( $multiple ) {
$args['attributes']['multiple'] = true;
}
break;
case 'colorpicker':
$args['class'] = 'wcfm-text wcfm_ele colorpicker';
$WCFM->library->load_colorpicker_lib();
wp_enqueue_script(
'iris',
admin_url( 'js/iris.min.js' ),
array( 'jquery-ui-draggable', 'jquery-ui-slider', 'jquery-touch-punch' ),
false,
1
);
wp_enqueue_script(
'wp-color-picker',
admin_url('js/color-picker.min.js'),
array( 'iris' ),
false,
1
);
$colorpicker_l10n = array(
'clear' => __('Clear'),
'defaultString' => __('Default'),
'pick' => __( 'Select Color')
);
wp_localize_script( 'wp-color-picker', 'wpColorPickerL10n', $colorpicker_l10n );
break;
}
$parsed_fields[ $field['name'] ] = $args;
}
$WCFM->wcfm_fields->wcfm_generate_form_field( $parsed_fields );
?>