args['id'] . '_type'; if( isset( $field->args['points_type_key'] ) ) { $post_type_meta_key = $field->args['points_type_key']; } // Support for CT objects if( $ct_cmb2_override === true ) { $points_type = ct_get_object_meta( $object_id, $post_type_meta_key, true ); } else { $points_type = get_post_meta( $object_id, $post_type_meta_key, true ); } // Grab our points types as a html $points_types_options = ''; foreach( gamipress_get_points_types() as $slug => $data ) { $points_types_options .= ''; } ?>
_desc( true ); } add_action( 'cmb2_render_gamipress_points', 'cmb2_render_gamipress_points_field_type', 10, 5 ); /** * After save GamiPress points field type, needs to store the points type value too * * @param string $field_id the current field id paramater. * @param bool $updated Whether the metadata update action occurred. * @param string $action Action performed. Could be "repeatable", "updated", or "removed". * @param CMB2_Field object $field This field object */ function cmb2_save_gamipress_points_field_type( $field_id, $updated, $action, $field ) { global $ct_cmb2_override; if( $field->args['type'] !== 'gamipress_points' ) { return; } $post_type_meta_key = $field->args['id'] . '_type'; if( isset( $field->args['points_type_key'] ) ) { $post_type_meta_key = $field->args['points_type_key']; } if ( isset( $_REQUEST[$post_type_meta_key] ) ) { $value = sanitize_text_field( $_REQUEST[$post_type_meta_key] ); if( $ct_cmb2_override === true ) { ct_update_object_meta( $field->object_id, $post_type_meta_key, $value ); } else { update_metadata( $field->object_type, $field->object_id, $post_type_meta_key, $value ); } } else { return; } } add_action( 'cmb2_save_field', 'cmb2_save_gamipress_points_field_type', 10, 4 ); endif;