'text', 'multiple' => false, 'clone' => false, ) ); // Always set 'multiple' true for following field types if ( in_array( $args['type'], array( 'checkbox_list', 'autocomplete', 'file', 'file_advanced', 'image', 'image_advanced', 'plupload_image', 'thickbox_image' ) ) ) { $args['multiple'] = true; } $field = array( 'id' => $key, 'type' => $args['type'], 'clone' => $args['clone'], 'multiple' => $args['multiple'], ); switch ( $args['type'] ) { case 'taxonomy_advanced': if ( empty( $args['taxonomy'] ) ) { break; } $meta = get_post_meta( $post_id, $key, ! $args['multiple'] ); $term_ids = wp_parse_id_list( $meta ); // Allow to pass more arguments to "get_terms" $func_args = wp_parse_args( array( 'include' => $term_ids, 'hide_empty' => false, ), $args ); unset( $func_args['type'], $func_args['taxonomy'], $func_args['multiple'] ); $meta = get_terms( $args['taxonomy'], $func_args ); break; case 'taxonomy': $meta = empty( $args['taxonomy'] ) ? array() : get_the_terms( $post_id, $args['taxonomy'] ); break; case 'map': $field = array( 'id' => $key, 'multiple' => false, 'clone' => false, ); $meta = RWMB_Map_Field::the_value( $field, $args, $post_id ); break; case 'oembed': $meta = RWMB_OEmbed_Field::the_value( $field, $args, $post_id ); break; default: $meta = RWMB_Field::call( 'get_value', $field, $args, $post_id ); } return apply_filters( 'rwmb_meta', $meta, $key, $args, $post_id ); } }