From 678592fda912f877a4738aa9c583a0b1da3ea242 Mon Sep 17 00:00:00 2001 From: JoryHogeveen Date: Tue, 12 Feb 2019 23:18:25 +0100 Subject: [PATCH 1/3] Support optiongroups --- genesis-widget-column-classes.php | 86 ++++++++++++++++++++++--------- 1 file changed, 61 insertions(+), 25 deletions(-) diff --git a/genesis-widget-column-classes.php b/genesis-widget-column-classes.php index 648f9e8..4f2a9bd 100644 --- a/genesis-widget-column-classes.php +++ b/genesis-widget-column-classes.php @@ -261,6 +261,7 @@ public function action_ignore_genesis_notice() { * * @since 0.1.0 * @since 1.3.0 Multi select support. + * @since 1.4.0 Option group support. * @access public * @param array $instance * @param \WP_Widget $widget @@ -301,33 +302,11 @@ public function filter_widget_form_extend( $instance, $widget ) { $row = '

'; $row .= ''; - $row_column = ''; - - $instance['column-classes'] = explode( ' ', $instance['column-classes'] ); - $column_classes = $this->get_column_classes(); - - if ( $this->select_multiple ) { - // Selected first. - $column_classes = array_replace( array_flip( $instance['column-classes'] ), $column_classes ); - } else { - $instance['column-classes'] = array( $instance['column-classes'][0] ); - } - - foreach ( $column_classes as $class_name ) { - if ( ! empty( $class_name ) ) { - $class_label = $class_name; - $selected = in_array( $class_name, $instance['column-classes'], true ); - if ( $this->select_multiple ) { - $row_column .= ''; - } else { - $row_column .= ''; - } - } - } + $column_class_options = $this->get_column_class_options( $instance, $widget ); if ( $this->select_multiple ) { $row .= ''; - $row .= $row_column; + $row .= $column_class_options; $row .= '   '; ?>