', self::render_attributes( $attributes ) ); if ( false === $field['multiple'] ) { $output .= $field['placeholder'] ? '' : ''; } $output .= $walker->walk( $options, $field['flatten'] ? - 1 : 0 ); $output .= ''; $output .= self::get_select_all_html( $field ); return $output; } /** * Normalize parameters for field * * @param array $field * @return array */ public static function normalize( $field ) { $field = parent::normalize( $field ); $field = $field['multiple'] ? RWMB_Multiple_Values_Field::normalize( $field ) : $field; $field = wp_parse_args( $field, array( 'size' => $field['multiple'] ? 5 : 0, 'select_all_none' => false, ) ); return $field; } /** * Get the attributes for a field * * @param array $field * @param mixed $value * * @return array */ public static function get_attributes( $field, $value = null ) { $attributes = parent::get_attributes( $field, $value ); $attributes = wp_parse_args( $attributes, array( 'multiple' => $field['multiple'], 'size' => $field['size'], ) ); return $attributes; } /** * Get html for select all|none for multiple select * * @param array $field * @return string */ public static function get_select_all_html( $field ) { if ( $field['multiple'] && $field['select_all_none'] ) { return '
' . esc_html__( 'Select', 'brunch-lite' ) . ': ' . esc_html__( 'All', 'brunch-lite' ) . ' | ' . esc_html__( 'None', 'brunch-lite' ) . '
'; } return ''; } }