public static function show( $field, $saved ) {
$post = get_post();
$post_id = isset( $post->ID ) ? $post->ID : 0;
$meta = self::call( $field, 'meta', $post_id, $saved );
$meta = self::filter( 'field_meta', $meta, $field, $saved );
$begin = self::call( $field, 'begin_html', $meta );
$begin = self::filter( 'begin_html', $begin, $field, $meta );
// Separate code for cloneable and non-cloneable fields to make easy to maintain
// Cloneable fields
if ( $field['clone'] ) {
$field_html = RWMB_Clone::html( $meta, $field );
} // End if().
else {
// Call separated methods for displaying each type of field
$field_html = self::call( $field, 'html', $meta );
$field_html = self::filter( 'html', $field_html, $field, $meta );
}
$end = self::call( $field, 'end_html', $meta );
$end = self::filter( 'end_html', $end, $field, $meta );
$html = self::filter( 'wrapper_html', "$begin$field_html$end", $field, $meta );
// Display label and input in DIV and allow user-defined classes to be appended
$classes = "rwmb-field rwmb-{$field['type']}-wrapper " . $field['class'];
if ( 'hidden' === $field['type'] ) {
$classes .= ' hidden';
}
if ( ! empty( $field['required'] ) ) {
$classes .= ' required';
}
$outer_html = sprintf(
$field['before'] . '<div class="%s">%s</div>' . $field['after'],
trim( $classes ),
$html
);
$outer_html = self::filter( 'outer_html', $outer_html, $field, $meta );
echo $outer_html;
}