diff --git a/changelog.txt b/changelog.txt index 3f3a4cf699bb631ffdbedb59b5d9627ca8d72180..c7f9fc81096af8afaa5956f2e3475e5d79091d87 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,5 +1,9 @@ # Changelog +## [2.2.1] - 2020-08-18 +### Changed +- Fiexed bug with the "select multiple" field + ## [2.2.0] - 2020-07-30 ### Added - Date picker field diff --git a/templates/select.php b/templates/select.php index e2af9286f60c9ba1b455199e421b3349f6132316..0c533967388ea7e2dd27e3ccc7bf44bd748a8856 100644 --- a/templates/select.php +++ b/templates/select.php @@ -2,13 +2,13 @@ /** * @var \WPDesk\Forms\Field $field * @var string $name_prefix - * @var string $value + * @var mixed $value */ ?> <select id="<?php echo esc_attr( $field->get_id() ); ?>" <?php if ($field->has_classes()): ?>class="<?php echo esc_attr( $field->get_classes() ); ?>"<?php endif; ?> - name="<?php echo esc_attr( $name_prefix ); ?>[<?php echo esc_attr( $field->get_name() ); ?>]" + name="<?php echo esc_attr( $name_prefix ); ?>[<?php echo esc_attr( $field->get_name() ); ?>]<?php echo $field->is_multiple()? '[]' : ''; ?>" <?php foreach ($field->get_attributes() as $key => $attr_val): ?> <?php echo esc_attr($key); ?>="<?php echo esc_attr($attr_val); ?>" <?php endforeach; ?> @@ -22,7 +22,7 @@ <?php foreach ( $field->get_possible_values() as $possible_value => $label ): ?> <option - <?php if ( $possible_value === $value || (is_numeric($possible_value) && is_numeric($value) && (int) $possible_value === (int) $value )): ?>selected="selected"<?php endif; ?> + <?php if ( $possible_value === $value || (is_array($value) && in_array($possible_value, $value)) || (is_numeric($possible_value) && is_numeric($value) && (int) $possible_value === (int) $value )): ?>selected="selected"<?php endif; ?> value="<?php echo esc_attr( $possible_value ); ?>" ><?php echo esc_html( $label ); ?></option> <?php endforeach; ?>