true, 'options' => array(), ) ); return $field; } /** * Get field names of object to be used by walker * * @return array */ public static function get_db_fields() { return array( 'parent' => 'parent', 'id' => 'value', 'label' => 'label', ); } /** * Get options for walker * * @param array $field * * @return array */ public static function get_options( $field ) { $options = array(); foreach ( (array) $field['options'] as $value => $label ) { $option = is_array( $label ) ? $label : array( 'label' => (string) $label, 'value' => (string) $value ); if ( isset( $option['label'] ) && isset( $option['value'] ) ) { $options[ $option['value'] ] = (object) $option; } } return $options; } /** * Filter options for walker * * @param array $field * * @return array */ public static function filter_options( $field, $options ) { $db_fields = self::call( 'get_db_fields', $field ); $label = $db_fields['label']; foreach ( $options as &$option ) { $option = apply_filters( 'rwmb_option', $option, $field ); $option->$label = apply_filters( 'rwmb_option_label', $option->$label, $option, $field ); } return $options; } /** * Format a single value for the helper functions. * * @param array $field Field parameter * @param string $value The value * @return string */ public static function format_single_value( $field, $value ) { return self::call( 'get_option_label', $field, $value ); } /** * Get option label * * @param string $value Option value * @param array $field Field parameter * * @return string */ public static function get_option_label( $field, $value ) { $options = self::call( 'get_options', $field ); return $options[ $value ]->label; } }